You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by al...@apache.org on 2019/04/30 16:03:23 UTC

[kudu-site] branch asf-site updated: Publish commit(s) from site source repo: f2bfdd4fb [blog] a blogpost about location awareness in Kudu

This is an automated email from the ASF dual-hosted git repository.

alexey pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/kudu-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new eb29417  Publish commit(s) from site source repo:   f2bfdd4fb [blog] a blogpost about location awareness in Kudu
eb29417 is described below

commit eb29417b7801df4791b5f57a8a63ffbaccb53225
Author: Alexey Serbin <al...@apache.org>
AuthorDate: Tue Apr 30 09:02:48 2019 -0700

    Publish commit(s) from site source repo:
      f2bfdd4fb [blog] a blogpost about location awareness in Kudu
    
    Site-Repo-Commit: f2bfdd4fbdab46590487bebaed8f22c88ed17cec
---
 2016/02/26/apache-kudu-0-7-0-released.html         |   4 +-
 2016/03/10/apache-kudu-0-7-1-released.html         |   4 +-
 2016/03/20/weekly-update.html                      |   4 +-
 2016/03/28/weekly-update.html                      |   4 +-
 2016/04/04/weekly-update.html                      |   4 +-
 2016/04/11/weekly-update.html                      |   4 +-
 2016/04/12/apache-kudu-0-8-0-released.html         |   4 +-
 ...json-apache-kudu-streamsets-data-collector.html |   4 +-
 2016/04/18/weekly-update.html                      |   4 +-
 2016/04/19/kudu-0-8-0-predicate-improvements.html  |   4 +-
 2016/04/25/weekly-update.html                      |   4 +-
 2016/04/26/ycsb.html                               |   4 +-
 2016/05/03/weekly-update.html                      |   4 +-
 2016/05/09/weekly-update.html                      |   4 +-
 2016/05/16/weekly-update.html                      |   4 +-
 2016/05/23/weekly-update.html                      |   4 +-
 2016/06/01/weekly-update.html                      |   4 +-
 2016/06/02/no-default-partitioning.html            |   4 +-
 2016/06/06/weekly-update.html                      |   4 +-
 2016/06/10/apache-kudu-0-9-0-released.html         |   4 +-
 2016/06/13/weekly-update.html                      |   4 +-
 2016/06/17/raft-consensus-single-node.html         |   4 +-
 2016/06/21/weekly-update.html                      |   4 +-
 2016/06/24/multi-master-1-0-0.html                 |   4 +-
 2016/06/27/weekly-update.html                      |   4 +-
 2016/07/01/apache-kudu-0-9-1-released.html         |   4 +-
 2016/07/11/weekly-update.html                      |   4 +-
 2016/07/18/weekly-update.html                      |   4 +-
 2016/07/25/asf-graduation.html                     |   4 +-
 2016/07/26/weekly-update.html                      |   4 +-
 2016/08/08/weekly-update.html                      |   4 +-
 2016/08/16/weekly-update.html                      |   4 +-
 2016/08/23/apache-kudu-0-10-0-released.html        |   4 +-
 2016/08/23/new-range-partitioning-features.html    |   4 +-
 2016/08/31/intro-flume-kudu-sink.html              |   4 +-
 2016/09/16/predicate-pushdown.html                 |   4 +-
 2016/09/20/apache-kudu-1-0-0-released.html         |   4 +-
 2016/09/26/strata-nyc-kudu-talks.html              |   4 +-
 2016/10/11/weekly-update.html                      |   4 +-
 2016/10/20/weekly-update.html                      |   4 +-
 2016/11/01/weekly-update.html                      |   4 +-
 2016/11/15/weekly-update.html                      |   4 +-
 2017/01/20/apache-kudu-1-2-0-released.html         |   4 +-
 2017/03/20/apache-kudu-1-3-0-released.html         |   4 +-
 2017/04/19/apache-kudu-1-3-1-released.html         |   4 +-
 2017/06/13/apache-kudu-1-4-0-released.html         |   4 +-
 2017/09/08/apache-kudu-1-5-0-released.html         |   4 +-
 2017/09/18/kudu-consistency-pt1.html               |   4 +-
 2017/10/23/nosql-kudu-spanner-slides.html          |   4 +-
 2017/12/08/apache-kudu-1-6-0-released.html         |   4 +-
 2018/03/23/apache-kudu-1-7-0-released.html         |   4 +-
 2018/07/10/instrumentation-in-kudu.html            |   4 +-
 ...getting-started-with-kudu-an-oreilly-title.html |   4 +-
 2018/09/11/simplified-pipelines-with-kudu.html     |   4 +-
 .../26/index-skip-scan-optimization-in-kudu.html   |   4 +-
 2018/10/26/apache-kudu-1-8-0-released.html         |   4 +-
 2018/12/11/call-for-posts.html                     |   4 +-
 ...age-management-with-apache-kudu-and-impala.html |   4 +-
 2019/03/15/apache-kudu-1-9-0-release.html          |   4 +-
 ...esting-apache-kudu-applications-on-the-jvm.html |   4 +-
 ...-authorization-with-apache-kudu-and-impala.html |   4 +-
 2019/04/30/location-awareness.html                 | 574 +++++++++++++++++++++
 blog/index.html                                    |  51 +-
 blog/page/10/index.html                            |  45 +-
 blog/page/11/index.html                            |  54 +-
 blog/page/12/index.html                            |  59 ++-
 blog/page/13/index.html                            |  29 +-
 blog/page/2/index.html                             |  55 +-
 blog/page/3/index.html                             |  57 +-
 blog/page/4/index.html                             |  50 +-
 blog/page/5/index.html                             |  47 +-
 blog/page/6/index.html                             |  47 +-
 blog/page/7/index.html                             |  46 +-
 blog/page/8/index.html                             |  49 +-
 blog/page/9/index.html                             |  49 +-
 feed.xml                                           | 414 +++++++++++++--
 img/media-src/ApacheKudu-logo-2016-07.eps.gz       | Bin 0 -> 1337195 bytes
 77 files changed, 1396 insertions(+), 474 deletions(-)

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 6000a4c..664935f 100644
--- a/2016/02/26/apache-kudu-0-7-0-released.html
+++ b/2016/02/26/apache-kudu-0-7-0-released.html
@@ -149,6 +149,8 @@ part of the ASF Incubator, version 0.7.0!</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -177,8 +179,6 @@ part of the ASF Incubator, version 0.7.0!</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 30e4ac7..baf7910 100644
--- a/2016/03/10/apache-kudu-0-7-1-released.html
+++ b/2016/03/10/apache-kudu-0-7-1-released.html
@@ -148,6 +148,8 @@ bugs fixed in this release:
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -176,8 +178,6 @@ bugs fixed in this release:
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/03/20/weekly-update.html b/2016/03/20/weekly-update.html
index b35adaa..a7de593 100644
--- a/2016/03/20/weekly-update.html
+++ b/2016/03/20/weekly-update.html
@@ -208,6 +208,8 @@ at the <a href="http://www.meetup.com/Rust-Bay-Area/events/229107276/">Rust Bay
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -236,8 +238,6 @@ at the <a href="http://www.meetup.com/Rust-Bay-Area/events/229107276/">Rust Bay
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/03/28/weekly-update.html b/2016/03/28/weekly-update.html
index e60c7dc..b331a58 100644
--- a/2016/03/28/weekly-update.html
+++ b/2016/03/28/weekly-update.html
@@ -199,6 +199,8 @@ in San Jose. The conference will feature two talks on Kudu:</li>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -227,8 +229,6 @@ in San Jose. The conference will feature two talks on Kudu:</li>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/04/04/weekly-update.html b/2016/04/04/weekly-update.html
index d68e2a8..c8f76ec 100644
--- a/2016/04/04/weekly-update.html
+++ b/2016/04/04/weekly-update.html
@@ -218,6 +218,8 @@ on Friday, April 8th.</li>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -246,8 +248,6 @@ on Friday, April 8th.</li>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/04/11/weekly-update.html b/2016/04/11/weekly-update.html
index 2c6f7c1..c7bda4f 100644
--- a/2016/04/11/weekly-update.html
+++ b/2016/04/11/weekly-update.html
@@ -218,6 +218,8 @@ please pipe up on the mailing list.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -246,8 +248,6 @@ please pipe up on the mailing list.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 a9fe068..5aa52d4 100644
--- a/2016/04/12/apache-kudu-0-8-0-released.html
+++ b/2016/04/12/apache-kudu-0-8-0-released.html
@@ -139,6 +139,8 @@ client, plus many other improvements and bug fixes.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -167,8 +169,6 @@ client, plus many other improvements and bug fixes.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 681e96f..798659b 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
@@ -162,6 +162,8 @@ kernel drivers in C to web front ends in JavaScript.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -190,8 +192,6 @@ kernel drivers in C to web front ends in JavaScript.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/04/18/weekly-update.html b/2016/04/18/weekly-update.html
index 6831c98..a3a1421 100644
--- a/2016/04/18/weekly-update.html
+++ b/2016/04/18/weekly-update.html
@@ -216,6 +216,8 @@ Data Collector</a>.</li>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -244,8 +246,6 @@ Data Collector</a>.</li>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 b28c641..babb824 100644
--- a/2016/04/19/kudu-0-8-0-predicate-improvements.html
+++ b/2016/04/19/kudu-0-8-0-predicate-improvements.html
@@ -196,6 +196,8 @@ where to start, consider adding a new predicate type; for example the <code>IS N
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -224,8 +226,6 @@ where to start, consider adding a new predicate type; for example the <code>IS N
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/04/25/weekly-update.html b/2016/04/25/weekly-update.html
index e593ad2..3dc86c4 100644
--- a/2016/04/25/weekly-update.html
+++ b/2016/04/25/weekly-update.html
@@ -215,6 +215,8 @@ Kudu 0.8</a>.</li>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -243,8 +245,6 @@ Kudu 0.8</a>.</li>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/04/26/ycsb.html b/2016/04/26/ycsb.html
index 16105ff..d6d37a4 100644
--- a/2016/04/26/ycsb.html
+++ b/2016/04/26/ycsb.html
@@ -418,6 +418,8 @@ for each column:
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -446,8 +448,6 @@ for each column:
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/05/03/weekly-update.html b/2016/05/03/weekly-update.html
index 5f38d21..fda482f 100644
--- a/2016/05/03/weekly-update.html
+++ b/2016/05/03/weekly-update.html
@@ -190,6 +190,8 @@ list of conferenace sessions and meetups near you.</li>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -218,8 +220,6 @@ list of conferenace sessions and meetups near you.</li>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/05/09/weekly-update.html b/2016/05/09/weekly-update.html
index fb697e3..a809216 100644
--- a/2016/05/09/weekly-update.html
+++ b/2016/05/09/weekly-update.html
@@ -180,6 +180,8 @@ on May 10.</li>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -208,8 +210,6 @@ on May 10.</li>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/05/16/weekly-update.html b/2016/05/16/weekly-update.html
index 998dd44..2569fad 100644
--- a/2016/05/16/weekly-update.html
+++ b/2016/05/16/weekly-update.html
@@ -215,6 +215,8 @@ meetup.</li>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -243,8 +245,6 @@ meetup.</li>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/05/23/weekly-update.html b/2016/05/23/weekly-update.html
index 2140f64..801bf7f 100644
--- a/2016/05/23/weekly-update.html
+++ b/2016/05/23/weekly-update.html
@@ -204,6 +204,8 @@ Cloudera User Group</a>.</li>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -232,8 +234,6 @@ Cloudera User Group</a>.</li>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/06/01/weekly-update.html b/2016/06/01/weekly-update.html
index 7e89e01..a18a787 100644
--- a/2016/06/01/weekly-update.html
+++ b/2016/06/01/weekly-update.html
@@ -170,6 +170,8 @@ hadoop-common test jar. This solved build issues while also removing a nasty dep
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -198,8 +200,6 @@ hadoop-common test jar. This solved build issues while also removing a nasty dep
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/06/02/no-default-partitioning.html b/2016/06/02/no-default-partitioning.html
index 3630dc2..9bfaed2 100644
--- a/2016/06/02/no-default-partitioning.html
+++ b/2016/06/02/no-default-partitioning.html
@@ -211,6 +211,8 @@ clause is now required:</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -239,8 +241,6 @@ clause is now required:</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/06/06/weekly-update.html b/2016/06/06/weekly-update.html
index 17ac1b1..ac1ce47 100644
--- a/2016/06/06/weekly-update.html
+++ b/2016/06/06/weekly-update.html
@@ -165,6 +165,8 @@ patches in for the <a href="https://gerrit.cloudera.org/#/c/2642/">Replay Cache<
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -193,8 +195,6 @@ patches in for the <a href="https://gerrit.cloudera.org/#/c/2642/">Replay Cache<
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 868b42c..4fa95d7 100644
--- a/2016/06/10/apache-kudu-0-9-0-released.html
+++ b/2016/06/10/apache-kudu-0-9-0-released.html
@@ -140,6 +140,8 @@ the specification of a partitioning scheme for new tables.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -168,8 +170,6 @@ the specification of a partitioning scheme for new tables.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/06/13/weekly-update.html b/2016/06/13/weekly-update.html
index 238153f..11b2482 100644
--- a/2016/06/13/weekly-update.html
+++ b/2016/06/13/weekly-update.html
@@ -173,6 +173,8 @@ removal happening in this <a href="https://gerrit.cloudera.org/#/c/3350/">patch<
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -201,8 +203,6 @@ removal happening in this <a href="https://gerrit.cloudera.org/#/c/3350/">patch<
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 51684e6..c285ff3 100644
--- a/2016/06/17/raft-consensus-single-node.html
+++ b/2016/06/17/raft-consensus-single-node.html
@@ -215,6 +215,8 @@ dissertation, which you can find linked from the above web site.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -243,8 +245,6 @@ dissertation, which you can find linked from the above web site.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/06/21/weekly-update.html b/2016/06/21/weekly-update.html
index 8d5dc6b..2c4ec0a 100644
--- a/2016/06/21/weekly-update.html
+++ b/2016/06/21/weekly-update.html
@@ -166,6 +166,8 @@ a future post.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -194,8 +196,6 @@ a future post.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 86f815c..7d44ca4 100644
--- a/2016/06/24/multi-master-1-0-0.html
+++ b/2016/06/24/multi-master-1-0-0.html
@@ -228,6 +228,8 @@ nothing has been implemented yet. Stay tuned!</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -256,8 +258,6 @@ nothing has been implemented yet. Stay tuned!</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/06/27/weekly-update.html b/2016/06/27/weekly-update.html
index 02ca653..3d840bb 100644
--- a/2016/06/27/weekly-update.html
+++ b/2016/06/27/weekly-update.html
@@ -230,6 +230,8 @@ a future post.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -258,8 +260,6 @@ a future post.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 161afc4..c9677e7 100644
--- a/2016/07/01/apache-kudu-0-9-1-released.html
+++ b/2016/07/01/apache-kudu-0-9-1-released.html
@@ -138,6 +138,8 @@ of 0.9.0 are encouraged to update to the new version at their earliest convenien
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -166,8 +168,6 @@ of 0.9.0 are encouraged to update to the new version at their earliest convenien
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/07/11/weekly-update.html b/2016/07/11/weekly-update.html
index c8cb4c4..950f23d 100644
--- a/2016/07/11/weekly-update.html
+++ b/2016/07/11/weekly-update.html
@@ -196,6 +196,8 @@ a future post.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -224,8 +226,6 @@ a future post.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/07/18/weekly-update.html b/2016/07/18/weekly-update.html
index 6232842..9c3b323 100644
--- a/2016/07/18/weekly-update.html
+++ b/2016/07/18/weekly-update.html
@@ -188,6 +188,8 @@ a future post.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -216,8 +218,6 @@ a future post.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/07/25/asf-graduation.html b/2016/07/25/asf-graduation.html
index 928e8d5..9c89a07 100644
--- a/2016/07/25/asf-graduation.html
+++ b/2016/07/25/asf-graduation.html
@@ -164,6 +164,8 @@ Established in 1999, the all-volunteer Foundation oversees more than 350 leading
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -192,8 +194,6 @@ Established in 1999, the all-volunteer Foundation oversees more than 350 leading
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/07/26/weekly-update.html b/2016/07/26/weekly-update.html
index 50891ba..85e55a6 100644
--- a/2016/07/26/weekly-update.html
+++ b/2016/07/26/weekly-update.html
@@ -196,6 +196,8 @@ a future post.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -224,8 +226,6 @@ a future post.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/08/08/weekly-update.html b/2016/08/08/weekly-update.html
index bde8272..5b1eea3 100644
--- a/2016/08/08/weekly-update.html
+++ b/2016/08/08/weekly-update.html
@@ -195,6 +195,8 @@ a future post.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -223,8 +225,6 @@ a future post.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/08/16/weekly-update.html b/2016/08/16/weekly-update.html
index 198bcb6..12c1db5 100644
--- a/2016/08/16/weekly-update.html
+++ b/2016/08/16/weekly-update.html
@@ -245,6 +245,8 @@ a future post.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -273,8 +275,6 @@ a future post.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 0929737..9fbd976 100644
--- a/2016/08/23/apache-kudu-0-10-0-released.html
+++ b/2016/08/23/apache-kudu-0-10-0-released.html
@@ -161,6 +161,8 @@ the release notes below.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -189,8 +191,6 @@ the release notes below.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 abfd49e..48d9a3c 100644
--- a/2016/08/23/new-range-partitioning-features.html
+++ b/2016/08/23/new-range-partitioning-features.html
@@ -221,6 +221,8 @@ be updated to 0.10.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -249,8 +251,6 @@ be updated to 0.10.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 1e8dcda..08ce6b4 100644
--- a/2016/08/31/intro-flume-kudu-sink.html
+++ b/2016/08/31/intro-flume-kudu-sink.html
@@ -423,6 +423,8 @@ is included in the Kudu distribution. You can follow him on Twitter at
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -451,8 +453,6 @@ is included in the Kudu distribution. You can follow him on Twitter at
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/09/16/predicate-pushdown.html b/2016/09/16/predicate-pushdown.html
index 534a917..3728bf3 100644
--- a/2016/09/16/predicate-pushdown.html
+++ b/2016/09/16/predicate-pushdown.html
@@ -269,6 +269,8 @@ coordinators, and from the Cloudera community as a whole.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -297,8 +299,6 @@ coordinators, and from the Cloudera community as a whole.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 bacdd67..8595c36 100644
--- a/2016/09/20/apache-kudu-1-0-0-released.html
+++ b/2016/09/20/apache-kudu-1-0-0-released.html
@@ -164,6 +164,8 @@ repository.</li>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -192,8 +194,6 @@ repository.</li>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 61e0734..0d78811 100644
--- a/2016/09/26/strata-nyc-kudu-talks.html
+++ b/2016/09/26/strata-nyc-kudu-talks.html
@@ -183,6 +183,8 @@ Be sure to RSVP as spots are filling up fast.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -211,8 +213,6 @@ Be sure to RSVP as spots are filling up fast.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/10/11/weekly-update.html b/2016/10/11/weekly-update.html
index 70753ad..096adf0 100644
--- a/2016/10/11/weekly-update.html
+++ b/2016/10/11/weekly-update.html
@@ -287,6 +287,8 @@ a future post.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -315,8 +317,6 @@ a future post.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/10/20/weekly-update.html b/2016/10/20/weekly-update.html
index 300f368..1682cfe 100644
--- a/2016/10/20/weekly-update.html
+++ b/2016/10/20/weekly-update.html
@@ -216,6 +216,8 @@ a future post.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -244,8 +246,6 @@ a future post.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/11/01/weekly-update.html b/2016/11/01/weekly-update.html
index 533792f..10dd414 100644
--- a/2016/11/01/weekly-update.html
+++ b/2016/11/01/weekly-update.html
@@ -214,6 +214,8 @@ a future post.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -242,8 +244,6 @@ a future post.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2016/11/15/weekly-update.html b/2016/11/15/weekly-update.html
index 400d1c6..56f9372 100644
--- a/2016/11/15/weekly-update.html
+++ b/2016/11/15/weekly-update.html
@@ -235,6 +235,8 @@ a future post.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -263,8 +265,6 @@ a future post.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 b2ebcca..f0fffbd 100644
--- a/2017/01/20/apache-kudu-1-2-0-released.html
+++ b/2017/01/20/apache-kudu-1-2-0-released.html
@@ -160,6 +160,8 @@ repository.</li>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -188,8 +190,6 @@ repository.</li>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 2b91d4b..640b499 100644
--- a/2017/03/20/apache-kudu-1-3-0-released.html
+++ b/2017/03/20/apache-kudu-1-3-0-released.html
@@ -159,6 +159,8 @@ repository.</li>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -187,8 +189,6 @@ repository.</li>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 5a13408..a69af8e 100644
--- a/2017/04/19/apache-kudu-1-3-1-released.html
+++ b/2017/04/19/apache-kudu-1-3-1-released.html
@@ -143,6 +143,8 @@ repository.</li>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -171,8 +173,6 @@ repository.</li>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 ab36727..1662d55 100644
--- a/2017/06/13/apache-kudu-1-4-0-released.html
+++ b/2017/06/13/apache-kudu-1-4-0-released.html
@@ -159,6 +159,8 @@ repository.</li>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -187,8 +189,6 @@ repository.</li>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 af86872..0cec84d 100644
--- a/2017/09/08/apache-kudu-1-5-0-released.html
+++ b/2017/09/08/apache-kudu-1-5-0-released.html
@@ -165,6 +165,8 @@ repository.</li>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -193,8 +195,6 @@ repository.</li>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2017/09/18/kudu-consistency-pt1.html b/2017/09/18/kudu-consistency-pt1.html
index d61b843..4699df7 100644
--- a/2017/09/18/kudu-consistency-pt1.html
+++ b/2017/09/18/kudu-consistency-pt1.html
@@ -302,6 +302,8 @@ to enable the consistency semantics introduced in the previous section, includin
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -330,8 +332,6 @@ to enable the consistency semantics introduced in the previous section, includin
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 ca92f1e..9e9c832 100644
--- a/2017/10/23/nosql-kudu-spanner-slides.html
+++ b/2017/10/23/nosql-kudu-spanner-slides.html
@@ -183,6 +183,8 @@ below:</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -211,8 +213,6 @@ below:</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 d9fcb7e..875fc61 100644
--- a/2017/12/08/apache-kudu-1-6-0-released.html
+++ b/2017/12/08/apache-kudu-1-6-0-released.html
@@ -184,6 +184,8 @@ Maven repository and are
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -212,8 +214,6 @@ Maven repository and are
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 160386c..0902f9f 100644
--- a/2018/03/23/apache-kudu-1-7-0-released.html
+++ b/2018/03/23/apache-kudu-1-7-0-released.html
@@ -196,6 +196,8 @@ Maven repository and are
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -224,8 +226,6 @@ Maven repository and are
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2018/07/10/instrumentation-in-kudu.html b/2018/07/10/instrumentation-in-kudu.html
index 7e794f2..e738e82 100644
--- a/2018/07/10/instrumentation-in-kudu.html
+++ b/2018/07/10/instrumentation-in-kudu.html
@@ -156,6 +156,8 @@ below. My talk spans the first 34 minutes.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -184,8 +186,6 @@ below. My talk spans the first 34 minutes.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 5d2b4f2..5aa7dc6 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
@@ -183,6 +183,8 @@ communication, please use the user@ mailing list!</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -211,8 +213,6 @@ communication, please use the user@ mailing list!</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 3eb6710..234b675 100644
--- a/2018/09/11/simplified-pipelines-with-kudu.html
+++ b/2018/09/11/simplified-pipelines-with-kudu.html
@@ -166,6 +166,8 @@ the backend.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -194,8 +196,6 @@ the backend.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 2065b22..9eb5cc0 100644
--- a/2018/09/26/index-skip-scan-optimization-in-kudu.html
+++ b/2018/09/26/index-skip-scan-optimization-in-kudu.html
@@ -230,6 +230,8 @@ Geo-replicated, near real-time, scalable data warehousing.” Proceedings of the
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -258,8 +260,6 @@ Geo-replicated, near real-time, scalable data warehousing.” Proceedings of the
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 3b82ae1..84af7e1 100644
--- a/2018/10/26/apache-kudu-1-8-0-released.html
+++ b/2018/10/26/apache-kudu-1-8-0-released.html
@@ -165,6 +165,8 @@ available</a>.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -193,8 +195,6 @@ available</a>.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2018/12/11/call-for-posts.html b/2018/12/11/call-for-posts.html
index c9bfd4a..995c0e9 100644
--- a/2018/12/11/call-for-posts.html
+++ b/2018/12/11/call-for-posts.html
@@ -143,6 +143,8 @@ and post it to the blog for you.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -171,8 +173,6 @@ and post it to the blog for you.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 51136f6..a25e6a5 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
@@ -528,6 +528,8 @@ and year columns in the “SCAN HDFS” section.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -556,8 +558,6 @@ and year columns in the “SCAN HDFS” section.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 9a0ac24..cb384fe 100644
--- a/2019/03/15/apache-kudu-1-9-0-release.html
+++ b/2019/03/15/apache-kudu-1-9-0-release.html
@@ -167,6 +167,8 @@ available</a>.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -195,8 +197,6 @@ available</a>.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 73d7350..1abe5d5 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
@@ -345,6 +345,8 @@ tremendously.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -373,8 +375,6 @@ tremendously.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</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 ac4611d..dc19afe 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
@@ -251,6 +251,8 @@ Apache Sentry and Apache Ranger.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -279,8 +281,6 @@ Apache Sentry and Apache Ranger.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/2019/04/30/location-awareness.html b/2019/04/30/location-awareness.html
new file mode 100644
index 0000000..eab5aa3
--- /dev/null
+++ b/2019/04/30/location-awareness.html
@@ -0,0 +1,574 @@
+<!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 - Location Awareness in 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" />
+
+    
+    <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/">Download</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="/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 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">Location Awareness in Kudu</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:
+- principles of the design
+- restrictions of the current implementation
+- potential future enhancements and extensions</p>
+
+<!--more-->
+
+<h1 id="introduction">Introduction</h1>
+<p>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:</p>
+
+<ul>
+  <li>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.</li>
+</ul>
+
+<p>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
+<em>location awareness</em> and not <em>rack awareness</em>.</p>
+
+<h1 id="locations-in-kudu">Locations in Kudu</h1>
+<p>In Kudu, a location is defined by a string that begins with a slash (<code>/</code>) and
+consists of slash-separated tokens each of which contains only characters from
+the set <code>[a-zA-Z0-9_-.]</code>. The components of the location string hierarchy
+should correspond to the physical or cloud-defined hierarchy of the deployed
+cluster, e.g. <code>/data-center-0/rack-09</code> or <code>/region-0/availability-zone-01</code>.</p>
+
+<p>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.</p>
+
+<h1 id="defining-and-assigning-locations">Defining and assigning locations</h1>
+<p>Kudu masters assign locations to tablet servers and clients.</p>
+
+<p>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 <code>GetTableLocations</code> RPC.</p>
+
+<p>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
+<a href="https://s.apache.org/location-awareness-design">the design document</a>
+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.</p>
+
+<h1 id="the-location-aware-placement-policy-for-tablet-replicas-in-kudu">The location-aware placement policy for tablet replicas in Kudu</h1>
+<p>While placing replicas of tablets in location-aware cluster, Kudu uses a best
+effort approach to adhere to the following principle:
+- Spread replicas across locations so that the failure of tablet servers
+  in one location does not make tablets unavailable.</p>
+
+<p>That’s referred to as the <em>replica placement policy</em> or just <em>placement policy</em>.
+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.</p>
+
+<h1 id="automatic-re-replication-and-placement-policy">Automatic re-replication and placement policy</h1>
+<p>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 <a href="https://issues.apache.org/jira/browse/KUDU-2780">automatically in background</a>.</p>
+
+<h1 id="an-example-of-location-aware-rebalancing">An example of location-aware rebalancing</h1>
+<p>This section illustrates what happens during each phase of the location-aware
+rebalancing process.</p>
+
+<p>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.</p>
+
+<p>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: <code>/L0</code>, <code>/L1</code>, <code>/L2</code>. Each location has two tablet
+servers. Table <code>A</code> has the replication factor of three (RF=3) and consists of
+four tablets: <code>A0</code>, <code>A1</code>, <code>A2</code>, <code>A3</code>. Table <code>B</code> has replication factor of five
+(RF=5) and consists of three tablets: <code>B0</code>, <code>B1</code>, <code>B2</code>.</p>
+
+<p>The distribution of the replicas for tablet <code>A0</code> violates the placement policy.
+Why? Because replicas <code>A0.0</code> and <code>A0.1</code> constitute the majority of replicas
+(two out of three) and reside in the same location <code>/L0</code>.</p>
+
+<pre><code>         /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 | |      | |
+| +------+ +------+ |   | +------+ +------+ |  | +------+ +------+ |
++-------------------+   +-------------------+  +-------------------+
+</code></pre>
+
+<p>The location-aware rebalancer should initiate movement either of <code>T0.0</code> or
+<code>T0.1</code> from <code>/L0</code> to other location, so the resulting replica distribution would
+<em>not</em> 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: <code>A0.1</code> is the best candidate to move from
+location <code>/L0</code>, so location <code>/L0</code> would not contain the majority of replicas
+for tablet <code>A0</code>. The same principle dictates the target location and the target
+tablet server to receive <code>A0.1</code>: that should be tablet server <code>TS5</code> in the
+location <code>/L2</code>. The result distribution of the tablet replicas after the move
+is represented in the diagram below.</p>
+
+<pre><code>         /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 | |      | |
+| +------+ +------+ |   | +------+ +------+ |  | +------+ +------+ |
++-------------------+   +-------------------+  +-------------------+
+</code></pre>
+
+<p>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 <code>S</code> of tablet servers in a location and the total number <code>R</code> of replicas
+in the location, the <em>load of the location</em> is defined as <code>R/S</code>.</p>
+
+<p>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.</p>
+
+<p>The load of the locations in the diagram above:
+- <code>/L0</code>: 1/5
+- <code>/L1</code>: 1/5
+- <code>/L2</code>: 2/7</p>
+
+<p>A possible distribution of the tablet replicas after the second phase is
+represented below. The result load of the locations:
+- <code>/L0</code>: 2/9
+- <code>/L1</code>: 2/9
+- <code>/L2</code>: 2/9</p>
+
+<pre><code>         /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 | |      | |
+| +------+ +------+ |   | +------+ +------+ |  | +------+ +------+ |
++-------------------+   +-------------------+  +-------------------+
+</code></pre>
+
+<p>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.</p>
+
+<p>See below for a possible replicas’ distribution in the example scenario
+after the third phase of the location-aware rebalancing successfully completes.</p>
+
+<pre><code>         /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 | |
+| +------+ +------+ |   | +------+ +------+ |  | +------+ +------+ |
++-------------------+   +-------------------+  +-------------------+
+</code></pre>
+
+<h1 id="how-to-make-a-kudu-cluster-location-aware">How to make a Kudu cluster location-aware</h1>
+<p>To make a Kudu cluster location-aware, it’s necessary to set the
+<code>--location_mapping_cmd</code> 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.</p>
+
+<p>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.</p>
+
+<p>For example, running a Kudu cluster in a single datacenter <code>dc0</code>, assign
+location <code>/dc0/rack0</code> to tablet servers running at machines in the rack <code>rack0</code>,
+<code>/dc0/rack1</code> to tablet servers running at machines in the rack <code>rack1</code>,
+and <code>/dc0/rack2</code> to tablet servers running at machines in the rack <code>rack2</code>.
+In a similar way, when running in cloud, assign location <code>/regionA/az0</code>
+to tablet servers running in availability zone <code>az0</code> of region <code>regionA</code>,
+and <code>/regionA/az1</code> to tablet servers running in zone <code>az1</code> of the same region.</p>
+
+<h1 id="an-example-of-location-assignment-script-for-kudu">An example of location assignment script for Kudu</h1>
+<pre><code>#!/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 "usage: $0 &lt;ip_address&gt;"
+  exit 1
+fi
+
+ip_address=$1
+shift
+
+suffix=${ip_address##192.168.100.}
+if [ -z "${suffix##*.*}" ]; then
+  # An IP address from a non-controlled subnet: maps into the 'other' location.
+  echo "/other"
+  exit 0
+fi
+
+# The mapping of the IP addresses
+if [ -z "$suffix" -o $suffix -lt 0 -o $suffix -gt 255 ]; then
+  echo "ERROR: '$ip_address' is not a valid IPv4 address"
+  exit 2
+fi
+
+if [ $suffix -eq 0 -o $suffix -eq 255 ]; then
+  echo "ERROR: '$ip_address' is a 0xffffff00 IPv4 subnet address"
+  exit 3
+fi
+
+if [ $suffix -lt 32 ]; then
+  echo "/dc0/rack00"
+elif [ $suffix -ge 32 -a $suffix -lt 64 ]; then
+  echo "/dc0/rack01"
+elif [ $suffix -ge 64 -a $suffix -lt 96 ]; then
+  echo "/dc0/rack02"
+elif [ $suffix -ge 96 -a $suffix -lt 128 ]; then
+  echo "/dc0/rack03"
+elif [ $suffix -ge 128 -a $suffix -lt 160 ]; then
+  echo "/dc0/rack04"
+elif [ $suffix -ge 160 -a $suffix -lt 192 ]; then
+  echo "/dc0/rack05"
+elif [ $suffix -ge 192 -a $suffix -lt 224 ]; then
+  echo "/dc0/rack06"
+else
+  echo "/dc0/rack07"
+fi
+</code></pre>
+
+<h1 id="reinstating-the-placement-policy-in-a-location-aware-kudu-cluster">Reinstating the placement policy in a location-aware Kudu cluster</h1>
+<p>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 <code>kudu</code> CLI tool:</p>
+
+<p><code>sudo -u kudu kudu cluster rebalance &lt;master_rpc_endpoints&gt;</code></p>
+
+<p>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 <code>--disable_policy_fixer</code> flag to skip this phase and
+continue to the cross-location rebalancing phase.</p>
+
+<p>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
+<code>--disable_cross_location_rebalancing</code> command line flag for that.</p>
+
+<p>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 <code>--disable_intra_location_rebalancing</code> flag to skip this phase.</p>
+
+<h1 id="future-work">Future work</h1>
+<p>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.</p>
+
+<p>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
+<a href="https://issues.apache.org/jira/browse/KUDU-2604">KUDU-2604</a>.</p>
+
+<h1 id="references">References</h1>
+<p>[1] Location awareness in Kudu: <a href="https://github.com/apache/kudu/blob/master/docs/design-docs/location-awareness.md">design document</a></p>
+
+<p>[2] A proposal for Kudu tablet server labeling: <a href="https://issues.apache.org/jira/browse/KUDU-2604">KUDU-2604</a></p>
+
+<p>[3] Further improvement: <a href="https://issues.apache.org/jira/browse/KUDU-2780">automatic cluster rebalancing</a>.</p>
+
+  </div>
+</article>
+
+
+  </div>
+  <div class="col-lg-3 recent-posts">
+    <h3>Recent posts</h3>
+    <ul>
+    
+      <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>
+    
+      <li> <a href="/2018/12/11/call-for-posts.html">Call for Posts</a> </li>
+    
+      <li> <a href="/2018/10/26/apache-kudu-1-8-0-released.html">Apache Kudu 1.8.0 Released</a> </li>
+    
+      <li> <a href="/2018/09/26/index-skip-scan-optimization-in-kudu.html">Index Skip Scan Optimization in Kudu</a> </li>
+    
+      <li> <a href="/2018/09/11/simplified-pipelines-with-kudu.html">Simplified Data Pipelines with Kudu</a> </li>
+    
+      <li> <a href="/2018/08/06/getting-started-with-kudu-an-oreilly-title.html">Getting Started with Kudu - an O'Reilly Title</a> </li>
+    
+      <li> <a href="/2018/07/10/instrumentation-in-kudu.html">Instrumentation in Apache Kudu</a> </li>
+    
+      <li> <a href="/2018/03/23/apache-kudu-1-7-0-released.html">Apache Kudu 1.7.0 released</a> </li>
+    
+      <li> <a href="/2017/12/08/apache-kudu-1-6-0-released.html">Apache Kudu 1.6.0 released</a> </li>
+    
+      <li> <a href="/2017/10/23/nosql-kudu-spanner-slides.html">Slides: A brave new world in mutable big data: Relational storage</a> </li>
+    
+      <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
+    
+    </ul>
+  </div>
+</div>
+
+      <footer class="footer">
+        <div class="row">
+          <div class="col-md-9">
+            <p class="small">
+            Copyright &copy; 2016 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/blog/index.html b/blog/index.html
index f28e74d..a18be4b 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -117,6 +117,30 @@
 <!-- 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:
+- principles of the design
+- restrictions of the current implementation
+- potential future enhancements and extensions</p>
+
+
+    
+  </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>
@@ -227,29 +251,6 @@ of multiple storage layers in a way that is transparent to users.</p>
 
 
 
-<!-- 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>
@@ -268,6 +269,8 @@ we’d like to share it with the world!</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -296,8 +299,6 @@ we’d like to share it with the world!</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/10/index.html b/blog/page/10/index.html
index 7b66c21..6dfea6b 100644
--- a/blog/page/10/index.html
+++ b/blog/page/10/index.html
@@ -117,19 +117,19 @@
 <!-- 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>
+    <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 tenth edition of the Kudu Weekly Update. This weekly blog post
+    <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/05/23/weekly-update.html">Read full post...</a>
+    <a class="btn btn-info" href="/2016/06/01/weekly-update.html">Read full post...</a>
   </div>
 </article>
 
@@ -138,19 +138,19 @@ covers ongoing development and news in the Apache Kudu (incubating) project.</p>
 <!-- Articles -->
 <article>
   <header>
-    <h1 class="entry-title"><a href="/2016/05/16/weekly-update.html">Apache Kudu (incubating) Weekly Update May 16, 2016</a></h1>
-    <p class="meta">Posted 16 May 2016 by Todd Lipcon</p>
+    <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>
   <div class="entry-content">
     
-    <p>Welcome to the ninth edition of the Kudu Weekly Update. This weekly blog post
+    <p>Welcome to the tenth 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/05/16/weekly-update.html">Read full post...</a>
+    <a class="btn btn-info" href="/2016/05/23/weekly-update.html">Read full post...</a>
   </div>
 </article>
 
@@ -159,19 +159,19 @@ covers ongoing development and news in the Apache Kudu (incubating) project.</p>
 <!-- Articles -->
 <article>
   <header>
-    <h1 class="entry-title"><a href="/2016/05/09/weekly-update.html">Apache Kudu (incubating) Weekly Update May 9, 2016</a></h1>
-    <p class="meta">Posted 09 May 2016 by Jean-Daniel Cryans</p>
+    <h1 class="entry-title"><a href="/2016/05/16/weekly-update.html">Apache Kudu (incubating) Weekly Update May 16, 2016</a></h1>
+    <p class="meta">Posted 16 May 2016 by Todd Lipcon</p>
   </header>
   <div class="entry-content">
     
-    <p>Welcome to the eighth edition of the Kudu Weekly Update. This weekly blog post
+    <p>Welcome to the ninth 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/05/09/weekly-update.html">Read full post...</a>
+    <a class="btn btn-info" href="/2016/05/16/weekly-update.html">Read full post...</a>
   </div>
 </article>
 
@@ -180,19 +180,19 @@ covers ongoing development and news in the Apache Kudu (incubating) project.</p>
 <!-- Articles -->
 <article>
   <header>
-    <h1 class="entry-title"><a href="/2016/05/03/weekly-update.html">Apache Kudu (incubating) Weekly Update May 3, 2016</a></h1>
-    <p class="meta">Posted 03 May 2016 by Todd Lipcon</p>
+    <h1 class="entry-title"><a href="/2016/05/09/weekly-update.html">Apache Kudu (incubating) Weekly Update May 9, 2016</a></h1>
+    <p class="meta">Posted 09 May 2016 by Jean-Daniel Cryans</p>
   </header>
   <div class="entry-content">
     
-    <p>Welcome to the seventh edition of the Kudu Weekly Update. This weekly blog post
+    <p>Welcome to the eighth 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/05/03/weekly-update.html">Read full post...</a>
+    <a class="btn btn-info" href="/2016/05/09/weekly-update.html">Read full post...</a>
   </div>
 </article>
 
@@ -201,18 +201,19 @@ covers ongoing development and news in the Apache Kudu (incubating) project.</p>
 <!-- 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>
+    <h1 class="entry-title"><a href="/2016/05/03/weekly-update.html">Apache Kudu (incubating) Weekly Update May 3, 2016</a></h1>
+    <p class="meta">Posted 03 May 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>
+    <p>Welcome to the seventh 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/04/26/ycsb.html">Read full post...</a>
+    <a class="btn btn-info" href="/2016/05/03/weekly-update.html">Read full post...</a>
   </div>
 </article>
 
@@ -238,6 +239,8 @@ covers ongoing development and news in the Apache Kudu (incubating) project.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -266,8 +269,6 @@ covers ongoing development and news in the Apache Kudu (incubating) project.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/11/index.html b/blog/page/11/index.html
index 6de2747..145e5b1 100644
--- a/blog/page/11/index.html
+++ b/blog/page/11/index.html
@@ -117,6 +117,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>
@@ -210,36 +230,6 @@ visualization.</p>
 
 
 
-<!-- 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>
@@ -260,6 +250,8 @@ client, plus many other improvements and bug fixes.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -288,8 +280,6 @@ client, plus many other improvements and bug fixes.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/12/index.html b/blog/page/12/index.html
index a57b29b..c101f92 100644
--- a/blog/page/12/index.html
+++ b/blog/page/12/index.html
@@ -117,6 +117,36 @@
 <!-- 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>
@@ -205,31 +235,6 @@ recent development and Kudu-related news.</p>
 
 
 
-<!-- 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 @@ bugs fixed in this release:</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -278,8 +285,6 @@ bugs fixed in this release:</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/13/index.html b/blog/page/13/index.html
index 39855fe..3051446 100644
--- a/blog/page/13/index.html
+++ b/blog/page/13/index.html
@@ -117,6 +117,31 @@
 <!-- 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>
@@ -155,6 +180,8 @@ part of the ASF Incubator, version 0.7.0!</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -183,8 +210,6 @@ part of the ASF Incubator, version 0.7.0!</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/2/index.html b/blog/page/2/index.html
index c6f05fb..f02d359 100644
--- a/blog/page/2/index.html
+++ b/blog/page/2/index.html
@@ -117,6 +117,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,34 +235,6 @@ challenge at that time.</p>
 
 
 
-<!-- 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>
@@ -260,6 +255,8 @@ including:</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -288,8 +285,6 @@ including:</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/3/index.html b/blog/page/3/index.html
index 37d79ba..ff5e886 100644
--- a/blog/page/3/index.html
+++ b/blog/page/3/index.html
@@ -117,6 +117,34 @@
 <!-- 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>
@@ -217,31 +245,6 @@ the current status.</p>
 
 
 
-<!-- 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>
@@ -262,6 +265,8 @@ improvements, optimizations, and bug fixes.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -290,8 +295,6 @@ improvements, optimizations, and bug fixes.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/4/index.html b/blog/page/4/index.html
index d24dd42..df0510a 100644
--- a/blog/page/4/index.html
+++ b/blog/page/4/index.html
@@ -117,6 +117,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>
@@ -219,27 +244,6 @@ improvements, bug fixes, and optimizations on top of Kudu
 
 
 
-<!-- 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>
@@ -260,6 +264,8 @@ covers ongoing development and news in the Apache Kudu project.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -288,8 +294,6 @@ covers ongoing development and news in the Apache Kudu project.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/5/index.html b/blog/page/5/index.html
index 40dce11..7bbb493 100644
--- a/blog/page/5/index.html
+++ b/blog/page/5/index.html
@@ -117,6 +117,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>
@@ -207,28 +228,6 @@ who are already adopting Kudu for their use cases.</p>
 
 
 
-<!-- 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>
@@ -249,6 +248,8 @@ who are already adopting Kudu for their use cases.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -277,8 +278,6 @@ who are already adopting Kudu for their use cases.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/6/index.html b/blog/page/6/index.html
index 68f9211..2abea6c 100644
--- a/blog/page/6/index.html
+++ b/blog/page/6/index.html
@@ -117,6 +117,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 @@ them to effectively design tables for scalability and performance.</p>
 
 
 
-<!-- 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 @@ covers ongoing development and news in the Apache Kudu project.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -564,8 +567,6 @@ covers ongoing development and news in the Apache Kudu project.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/7/index.html b/blog/page/7/index.html
index cb14fae..bce4ac8 100644
--- a/blog/page/7/index.html
+++ b/blog/page/7/index.html
@@ -117,6 +117,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>
@@ -201,27 +222,6 @@ covers ongoing development and news in the Apache Kudu (incubating) project.</p>
 
 
 
-<!-- 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>
@@ -242,6 +242,8 @@ covers ongoing development and news in the Apache Kudu (incubating) project.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -270,8 +272,6 @@ covers ongoing development and news in the Apache Kudu (incubating) project.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/8/index.html b/blog/page/8/index.html
index de3a072..b457a35 100644
--- a/blog/page/8/index.html
+++ b/blog/page/8/index.html
@@ -117,6 +117,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>
@@ -207,30 +228,6 @@ covers ongoing development and news in the Apache Kudu (incubating) project.</p>
 
 
 
-<!-- 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>
@@ -251,6 +248,8 @@ replication factor of 1.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -279,8 +278,6 @@ replication factor of 1.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/blog/page/9/index.html b/blog/page/9/index.html
index 41fa453..8f5dcb6 100644
--- a/blog/page/9/index.html
+++ b/blog/page/9/index.html
@@ -117,6 +117,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>
@@ -210,27 +234,6 @@ with the new release.</p>
 
 
 
-<!-- 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>
@@ -251,6 +254,8 @@ covers ongoing development and news in the Apache Kudu (incubating) project.</p>
     <h3>Recent posts</h3>
     <ul>
     
+      <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>
@@ -279,8 +284,6 @@ covers ongoing development and news in the Apache Kudu (incubating) project.</p>
     
       <li> <a href="/2017/09/18/kudu-consistency-pt1.html">Consistency in Apache Kudu, Part 1</a> </li>
     
-      <li> <a href="/2017/09/08/apache-kudu-1-5-0-released.html">Apache Kudu 1.5.0 released</a> </li>
-    
     </ul>
   </div>
 </div>
diff --git a/feed.xml b/feed.xml
index 9f5cab6..df22fb5 100644
--- a/feed.xml
+++ b/feed.xml
@@ -1,4 +1,363 @@
-<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><generator uri="http://jekyllrb.com" version="2.5.3">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2019-04-22T12:52:58-05:00</updated><id>/</id><entry><title>Fine-Grained Authorization with Apache Kudu and Impala</title><link href="/2019/04/22/fine-grained-authorization-with-apache-kudu-and-impala.html" rel="alterna [...]
+<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><generator uri="http://jekyllrb.com" version="2.5.3">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2019-04-30T09:02:32-07:00</updated><id>/</id><entry><title>Location Awareness in Kudu</title><link href="/2019/04/30/location-awareness.html" rel="alternate" type="text/html" title="Location Awareness in Kudu" /><publi [...]
+of the following:
+- principles of the design
+- restrictions of the current implementation
+- potential future enhancements and extensions&lt;/p&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&gt;/&lt;/code&gt;) and
+consists of slash-separated tokens each of which contains only characters from
+the set &lt;code&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&gt;/data-center-0/rack-09&lt;/code&gt; or &lt;code&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&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:
+- Spread replicas across locations so that the failure of tablet servers
+  in one location does not make tablets unavailable.&lt;/p&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&gt;/L0&lt;/code&gt;, &lt;code&gt;/L1&lt;/code&gt;, &lt;code&gt;/L2&lt;/code&gt;. Each location has two tablet
+servers. Table &lt;code&gt;A&lt;/code&gt; has the replication factor of three (RF=3) and consists of
+four tablets: &lt;code&gt;A0&lt;/code&gt;, &lt;code&gt;A1&lt;/code&gt;, &lt;code&gt;A2&lt;/code&gt;, &lt;code&gt;A3&lt;/code&gt;. Table &lt;code&gt;B&lt;/code&gt; has replication factor of five
+(RF=5) and consists of three tablets: &lt;code&gt;B0&lt;/code&gt;, &lt;code&gt;B1&lt;/code&gt;, &lt;code&gt;B2&lt;/code&gt;.&lt;/p&gt;
+
+&lt;p&gt;The distribution of the replicas for tablet &lt;code&gt;A0&lt;/code&gt; violates the placement policy.
+Why? Because replicas &lt;code&gt;A0.0&lt;/code&gt; and &lt;code&gt;A0.1&lt;/code&gt; constitute the majority of replicas
+(two out of three) and reside in the same location &lt;code&gt;/L0&lt;/code&gt;.&lt;/p&gt;
+
+&lt;pre&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;p&gt;The location-aware rebalancer should initiate movement either of &lt;code&gt;T0.0&lt;/code&gt; or
+&lt;code&gt;T0.1&lt;/code&gt; from &lt;code&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&gt;A0.1&lt;/code&gt; is the best candidate to move from
+location &lt;code&gt;/L0&lt;/code&gt;, so location &lt;code&gt;/L0&lt;/code&gt; would not contain the majority of replicas
+for tablet &lt;code&gt;A0&lt;/code&gt;. The same principle dictates the target location and the target
+tablet server to receive &lt;code&gt;A0.1&lt;/code&gt;: that should be tablet server &lt;code&gt;TS5&lt;/code&gt; in the
+location &lt;code&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;pre&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;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&gt;S&lt;/code&gt; of tablet servers in a location and the total number &lt;code&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&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;code&gt;/L0&lt;/code&gt;: 1/5
+- &lt;code&gt;/L1&lt;/code&gt;: 1/5
+- &lt;code&gt;/L2&lt;/code&gt;: 2/7&lt;/p&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;code&gt;/L0&lt;/code&gt;: 2/9
+- &lt;code&gt;/L1&lt;/code&gt;: 2/9
+- &lt;code&gt;/L2&lt;/code&gt;: 2/9&lt;/p&gt;
+
+&lt;pre&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;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;pre&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;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&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&gt;dc0&lt;/code&gt;, assign
+location &lt;code&gt;/dc0/rack0&lt;/code&gt; to tablet servers running at machines in the rack &lt;code&gt;rack0&lt;/code&gt;,
+&lt;code&gt;/dc0/rack1&lt;/code&gt; to tablet servers running at machines in the rack &lt;code&gt;rack1&lt;/code&gt;,
+and &lt;code&gt;/dc0/rack2&lt;/code&gt; to tablet servers running at machines in the rack &lt;code&gt;rack2&lt;/code&gt;.
+In a similar way, when running in cloud, assign location &lt;code&gt;/regionA/az0&lt;/code&gt;
+to tablet servers running in availability zone &lt;code&gt;az0&lt;/code&gt; of region &lt;code&gt;regionA&lt;/code&gt;,
+and &lt;code&gt;/regionA/az1&lt;/code&gt; to tablet servers running in zone &lt;code&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;pre&gt;&lt;code&gt;#!/bin/sh
+#
+# It&#39;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&#39; RPC endpoints are specified using DNS hostnames (and that&#39;s how
+# it&#39;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&#39;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 &#39;other&#39; 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: &#39;$ip_address&#39; is not a valid IPv4 address&quot;
+  exit 2
+fi
+
+if [ $suffix -eq 0 -o $suffix -eq 255 ]; then
+  echo &quot;ERROR: &#39;$ip_address&#39; 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;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&gt;kudu&lt;/code&gt; CLI tool:&lt;/p&gt;
+
+&lt;p&gt;&lt;code&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&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&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&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>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><entry><title>Fine-Grained Authorization with Apache Kudu and Impala</title><link href="/2019/04/22/fine-grained-authorization-with-apache-kudu-and-impala.html" rel="alternate" type="text/html" title="Fine-Grained Authorization with Apache Kudu and Impala" /><published>2019-04-22T00:00:00-07:00</published><updated>2019-04-22T00:00:00-07:00</updated><id>/2019/04/22/fine-grained-authorization-with-apache-kudu-and-impala</id><c [...]
 &lt;a href=&quot;https://blog.cloudera.com/blog/2019/04/fine-grained-authorization-with-apache-kudu-and-impala/&quot;&gt;Fine-Grained Authorization with Apache Kudu and Impala&lt;/a&gt;&lt;/p&gt;
 
 &lt;p&gt;Apache Impala supports fine-grained authorization via Apache Sentry on all of the tables it
@@ -131,7 +490,7 @@ own. This solution works because Kudu natively supports coarse-grained (all or n
 authorization which enables blocking all access to Kudu directly except for the impala user and
 an optional whitelist of other trusted users. This post will describe how to use Apache Impala’s
 fine-grained authorization support along with Apache Kudu’s coarse-grained authorization to
-achieve a secure multi-tenant deployment.</summary></entry><entry><title>Testing Apache Kudu Applications on the JVM</title><link href="/2019/03/19/testing-apache-kudu-applications-on-the-jvm.html" rel="alternate" type="text/html" title="Testing Apache Kudu Applications on the JVM" /><published>2019-03-19T00:00:00-05:00</published><updated>2019-03-19T00:00:00-05:00</updated><id>/2019/03/19/testing-apache-kudu-applications-on-the-jvm</id><content type="html" xml:base="/2019/03/19/testing- [...]
+achieve a secure multi-tenant deployment.</summary></entry><entry><title>Testing Apache Kudu Applications on the JVM</title><link href="/2019/03/19/testing-apache-kudu-applications-on-the-jvm.html" rel="alternate" type="text/html" title="Testing Apache Kudu Applications on the JVM" /><published>2019-03-19T00:00:00-07:00</published><updated>2019-03-19T00:00:00-07:00</updated><id>/2019/03/19/testing-apache-kudu-applications-on-the-jvm</id><content type="html" xml:base="/2019/03/19/testing- [...]
 &lt;a href=&quot;https://blog.cloudera.com/blog/2019/03/testing-apache-kudu-applications-on-the-jvm/&quot;&gt;Testing Apache Kudu Applications on the JVM&lt;/a&gt;&lt;/p&gt;
 
 &lt;p&gt;Although the Kudu server is written in C++ for performance and efficiency, developers can write
@@ -356,7 +715,7 @@ reliable client applications, we’ve added new utilities in Kudu 1.9.0 that all
 using a Kudu cluster without needing to build Kudu yourself, without any knowledge of C++,
 and without any complicated coordination around starting and stopping Kudu clusters for each test.
 This post describes how the new testing utilities work and how you can use them in your application
-tests.</summary></entry><entry><title>Apache Kudu 1.9.0 Released</title><link href="/2019/03/15/apache-kudu-1-9-0-release.html" rel="alternate" type="text/html" title="Apache Kudu 1.9.0 Released" /><published>2019-03-15T00:00:00-05:00</published><updated>2019-03-15T00:00:00-05:00</updated><id>/2019/03/15/apache-kudu-1-9-0-release</id><content type="html" xml:base="/2019/03/15/apache-kudu-1-9-0-release.html">&lt;p&gt;The Apache Kudu team is happy to announce the release of Kudu 1.9.0!&lt;/p&gt;
+tests.</summary></entry><entry><title>Apache Kudu 1.9.0 Released</title><link href="/2019/03/15/apache-kudu-1-9-0-release.html" rel="alternate" type="text/html" title="Apache Kudu 1.9.0 Released" /><published>2019-03-15T00:00:00-07:00</published><updated>2019-03-15T00:00:00-07:00</updated><id>/2019/03/15/apache-kudu-1-9-0-release</id><content type="html" xml:base="/2019/03/15/apache-kudu-1-9-0-release.html">&lt;p&gt;The Apache Kudu team is happy to announce the release of Kudu 1.9.0!&lt;/p&gt;
 
 &lt;p&gt;The new release adds several new features and improvements, including the
 following:&lt;/p&gt;
@@ -397,7 +756,7 @@ available&lt;/a&gt;.&lt;/p&gt;
 &lt;a href=&quot;https://pypi.org/project/kudu-python/&quot;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;</content><author><name>Andrew Wong</name></author><summary>The Apache Kudu team is happy to announce the release of Kudu 1.9.0!
 
 The new release adds several new features and improvements, including the
-following:</summary></entry><entry><title>Transparent Hierarchical Storage Management with Apache Kudu and Impala</title><link href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html" rel="alternate" type="text/html" title="Transparent Hierarchical Storage Management with Apache Kudu and Impala" /><published>2019-03-05T00:00:00-06:00</published><updated>2019-03-05T00:00:00-06:00</updated><id>/2019/03/05/transparent-hierarchical-storage-management-wi [...]
+following:</summary></entry><entry><title>Transparent Hierarchical Storage Management with Apache Kudu and Impala</title><link href="/2019/03/05/transparent-hierarchical-storage-management-with-apache-kudu-and-impala.html" rel="alternate" type="text/html" title="Transparent Hierarchical Storage Management with Apache Kudu and Impala" /><published>2019-03-05T00:00:00-08:00</published><updated>2019-03-05T00:00:00-08:00</updated><id>/2019/03/05/transparent-hierarchical-storage-management-wi [...]
 &lt;a href=&quot;https://blog.cloudera.com/blog/2019/03/transparent-hierarchical-storage-management-with-apache-kudu-and-impala/&quot;&gt;Transparent Hierarchical Storage Management with Apache Kudu and Impala&lt;/a&gt;&lt;/p&gt;
 
 &lt;p&gt;When picking a storage option for an application it is common to pick a single
@@ -806,7 +1165,7 @@ scalability at a low cost you may want to use HDFS. For that reason, there is a
 for a solution that allows you to leverage the best features of multiple storage
 options. This post describes the sliding window pattern using Apache Impala with data
 stored in Apache Kudu and Apache HDFS. With this pattern you get all of the benefits
-of multiple storage layers in a way that is transparent to users.</summary></entry><entry><title>Call for Posts</title><link href="/2018/12/11/call-for-posts.html" rel="alternate" type="text/html" title="Call for Posts" /><published>2018-12-11T00:00:00-06:00</published><updated>2018-12-11T00:00:00-06:00</updated><id>/2018/12/11/call-for-posts</id><content type="html" xml:base="/2018/12/11/call-for-posts.html">&lt;p&gt;Most of the posts in the Kudu blog have been written by the project’s
+of multiple storage layers in a way that is transparent to users.</summary></entry><entry><title>Call for Posts</title><link href="/2018/12/11/call-for-posts.html" rel="alternate" type="text/html" title="Call for Posts" /><published>2018-12-11T00:00:00-08:00</published><updated>2018-12-11T00:00:00-08:00</updated><id>/2018/12/11/call-for-posts</id><content type="html" xml:base="/2018/12/11/call-for-posts.html">&lt;p&gt;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!&lt;/p&gt;
@@ -823,7 +1182,7 @@ draft your post to Google Docs and share it with us on
 and post it to the blog for you.&lt;/p&gt;</content><author><name>Attila Bukor</name></author><summary>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!</summary></entry><entry><title>Apache Kudu 1.8.0 Released</title><link href="/2018/10/26/apache-kudu-1-8-0-released.html" rel="alternate" type="text/html" title="Apache Kudu 1.8.0 Released" /><published>2018-10-26T00:00:00-05:00</published><updated>2018-10-26T00:00:00-05:00</updated><id>/2018/10/26/apache-kudu-1-8-0-released</id><content type="html" xml:base="/2018/10/26/apache-kudu-1-8-0-released.html">&lt;p&gt;The Apache Kudu team is happy to annou [...]
+we’d like to share it with the world!</summary></entry><entry><title>Apache Kudu 1.8.0 Released</title><link href="/2018/10/26/apache-kudu-1-8-0-released.html" rel="alternate" type="text/html" title="Apache Kudu 1.8.0 Released" /><published>2018-10-26T00:00:00-07:00</published><updated>2018-10-26T00:00:00-07:00</updated><id>/2018/10/26/apache-kudu-1-8-0-released</id><content type="html" xml:base="/2018/10/26/apache-kudu-1-8-0-released.html">&lt;p&gt;The Apache Kudu team is happy to annou [...]
 
 &lt;p&gt;The new release adds several new features and improvements, including the
 following:&lt;/p&gt;
@@ -862,7 +1221,7 @@ available&lt;/a&gt;.&lt;/p&gt;
 &lt;a href=&quot;https://pypi.org/project/kudu-python/&quot;&gt;PyPI&lt;/a&gt;.&lt;/p&gt;</content><author><name>Attila Bukor</name></author><summary>The Apache Kudu team is happy to announce the release of Kudu 1.8.0!
 
 The new release adds several new features and improvements, including the
-following:</summary></entry><entry><title>Index Skip Scan Optimization in Kudu</title><link href="/2018/09/26/index-skip-scan-optimization-in-kudu.html" rel="alternate" type="text/html" title="Index Skip Scan Optimization in Kudu" /><published>2018-09-26T00:00:00-05:00</published><updated>2018-09-26T00:00:00-05:00</updated><id>/2018/09/26/index-skip-scan-optimization-in-kudu</id><content type="html" xml:base="/2018/09/26/index-skip-scan-optimization-in-kudu.html">&lt;p&gt;This summer I g [...]
+following:</summary></entry><entry><title>Index Skip Scan Optimization in Kudu</title><link href="/2018/09/26/index-skip-scan-optimization-in-kudu.html" rel="alternate" type="text/html" title="Index Skip Scan Optimization in Kudu" /><published>2018-09-26T00:00:00-07:00</published><updated>2018-09-26T00:00:00-07:00</updated><id>/2018/09/26/index-skip-scan-optimization-in-kudu</id><content type="html" xml:base="/2018/09/26/index-skip-scan-optimization-in-kudu.html">&lt;p&gt;This summer I g [...]
 My project was to optimize the Kudu scan path by implementing a technique called
 index skip scan (a.k.a. scan-to-seek, see section 4.1 in [1]). I wanted to share
 my experience and the progress we’ve made so far on the approach.&lt;/p&gt;
@@ -965,7 +1324,7 @@ Geo-replicated, near real-time, scalable data warehousing.” Proceedings of the
 &lt;p&gt;&lt;a href=&quot;https://www.sqlite.org/optoverview.html#skipscan&quot;&gt;[3]&lt;/a&gt;: Skip Scan - SQLite&lt;/p&gt;</content><author><name>Anupama Gupta</name></author><summary>This summer I got the opportunity to intern with the Apache Kudu team at Cloudera.
 My project was to optimize the Kudu scan path by implementing a technique called
 index skip scan (a.k.a. scan-to-seek, see section 4.1 in [1]). I wanted to share
-my experience and the progress we’ve made so far on the approach.</summary></entry><entry><title>Simplified Data Pipelines with Kudu</title><link href="/2018/09/11/simplified-pipelines-with-kudu.html" rel="alternate" type="text/html" title="Simplified Data Pipelines with Kudu" /><published>2018-09-11T00:00:00-05:00</published><updated>2018-09-11T00:00:00-05:00</updated><id>/2018/09/11/simplified-pipelines-with-kudu</id><content type="html" xml:base="/2018/09/11/simplified-pipelines-with- [...]
+my experience and the progress we’ve made so far on the approach.</summary></entry><entry><title>Simplified Data Pipelines with Kudu</title><link href="/2018/09/11/simplified-pipelines-with-kudu.html" rel="alternate" type="text/html" title="Simplified Data Pipelines with Kudu" /><published>2018-09-11T00:00:00-07:00</published><updated>2018-09-11T00:00:00-07:00</updated><id>/2018/09/11/simplified-pipelines-with-kudu</id><content type="html" xml:base="/2018/09/11/simplified-pipelines-with- [...]
 across a lot of structured data use cases.  What we, at &lt;a href=&quot;https://phdata.io/&quot;&gt;phData&lt;/a&gt;, have found is
 that end users are typically comfortable with tabular data and prefer to access their data in a
 structured manner using tables.
@@ -1005,7 +1364,7 @@ and users to focus on solving business problems, rather than being bothered by t
 the backend.&lt;/p&gt;</content><author><name>Mac Noland</name></author><summary>I’ve been working with Hadoop now for over seven years and fortunately, or unfortunately, have run
 across a lot of structured data use cases.  What we, at phData, have found is
 that end users are typically comfortable with tabular data and prefer to access their data in a
-structured manner using tables.</summary></entry><entry><title>Getting Started with Kudu - an O’Reilly Title</title><link href="/2018/08/06/getting-started-with-kudu-an-oreilly-title.html" rel="alternate" type="text/html" title="Getting Started with Kudu - an O&#39;Reilly Title" /><published>2018-08-06T00:00:00-05:00</published><updated>2018-08-06T00:00:00-05:00</updated><id>/2018/08/06/getting-started-with-kudu-an-oreilly-title</id><content type="html" xml:base="/2018/08/06/getting-star [...]
+structured manner using tables.</summary></entry><entry><title>Getting Started with Kudu - an O’Reilly Title</title><link href="/2018/08/06/getting-started-with-kudu-an-oreilly-title.html" rel="alternate" type="text/html" title="Getting Started with Kudu - an O&#39;Reilly Title" /><published>2018-08-06T00:00:00-07:00</published><updated>2018-08-06T00:00:00-07:00</updated><id>/2018/08/06/getting-started-with-kudu-an-oreilly-title</id><content type="html" xml:base="/2018/08/06/getting-star [...]
 &lt;a href=&quot;https://www.phdata.io/getting-started-with-kudu/&quot;&gt;phData&lt;/a&gt;
 blog with their permission.&lt;/p&gt;
 
@@ -1068,39 +1427,4 @@ Hadoop platform was hard. Organizations required strong Software Engineering
 capabilities to successfully implement complex Lambda architectures or even
 simply implement continuous ingest. Updating or deleting data, were simply a
 nightmare. General Data Protection Regulation (GDPR) would have been an extreme
-challenge at that time.</summary></entry><entry><title>Instrumentation in Apache Kudu</title><link href="/2018/07/10/instrumentation-in-kudu.html" rel="alternate" type="text/html" title="Instrumentation in Apache Kudu" /><published>2018-07-10T00:00:00-05:00</published><updated>2018-07-10T00:00:00-05:00</updated><id>/2018/07/10/instrumentation-in-kudu</id><content type="html" xml:base="/2018/07/10/instrumentation-in-kudu.html">&lt;p&gt;Last week, the &lt;a href=&quot;http://opentracing.io [...]
-their monthly Google Hangout meetup to give an informal talk on tracing and
-instrumentation in Apache Kudu.&lt;/p&gt;
-
-&lt;p&gt;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:
-&lt;!--more--&gt;
-- The Kudu &lt;a href=&quot;/docs/administration.html#_diagnostics_logging&quot;&gt;diagnostics log&lt;/a&gt;
-  which periodically logs metrics and stack traces.
-- The &lt;a href=&quot;/docs/troubleshooting.html#kudu_tracing&quot;&gt;process-wide tracing&lt;/a&gt;
-  support based on the open source tracing framework implemented by Google Chrome.
-- The &lt;a href=&quot;/docs/troubleshooting.html#kudu_tracing&quot;&gt;stack watchdog&lt;/a&gt;
-  which helps us find various latency outliers and issues in our libraries and
-  the Linux kernel.
-- &lt;a href=&quot;/docs/troubleshooting.html#heap_sampling&quot;&gt;Heap sampling&lt;/a&gt; support
-  which helps us understand unexpected memory usage.&lt;/p&gt;
-
-&lt;p&gt;If you’re interested in learning about these topics and more, check out the video recording
-below. My talk spans the first 34 minutes.&lt;/p&gt;
-
-&lt;iframe width=&quot;800&quot; height=&quot;500&quot; src=&quot;https://www.youtube.com/embed/qBXwKU6Ubjo?end=2058&amp;amp;start=23&quot;&gt;
-&lt;/iframe&gt;
-
-&lt;p&gt;If you have any questions about this content or about Kudu in general,
-&lt;a href=&quot;http://kudu.apache.org/community.html&quot;&gt;join the community&lt;/a&gt;&lt;/p&gt;</content><author><name>Todd Lipcon</name></author><summary>Last week, the OpenTracing community invited me to
-their monthly Google Hangout meetup to give an informal talk on tracing and
-instrumentation in Apache Kudu.
-
-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:</summary></entry></feed>
+challenge at that time.</summary></entry></feed>
diff --git a/img/media-src/ApacheKudu-logo-2016-07.eps.gz b/img/media-src/ApacheKudu-logo-2016-07.eps.gz
new file mode 100644
index 0000000..f4f8dc0
Binary files /dev/null and b/img/media-src/ApacheKudu-logo-2016-07.eps.gz differ