accumulo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ctubb...@apache.org
Subject [01/50] [abbrv] accumulo-website git commit: Jekyll build from gh-pages:e044731
Date Tue, 22 Nov 2016 19:40:58 GMT
Repository: accumulo-website
Updated Branches:
  refs/heads/asf-site [created] 59a6d65dc


Jekyll build from gh-pages:e044731

Merge branch 'durability' into gh-pages


Project: http://git-wip-us.apache.org/repos/asf/accumulo-website/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo-website/commit/e6015ace
Tree: http://git-wip-us.apache.org/repos/asf/accumulo-website/tree/e6015ace
Diff: http://git-wip-us.apache.org/repos/asf/accumulo-website/diff/e6015ace

Branch: refs/heads/asf-site
Commit: e6015ace9d0be709efb51e01f55c54c8238956eb
Parents: 2e9eabf
Author: Keith Turner <kturner@apache.org>
Authored: Wed Nov 2 14:51:21 2016 -0400
Committer: Keith Turner <kturner@apache.org>
Committed: Wed Nov 2 14:51:21 2016 -0400

----------------------------------------------------------------------
 1.6/accumulo_user_manual.html                   |  12 +
 blog/2014/05/03/accumulo-classloader.html       |   7 +-
 .../27/getting-started-with-accumulo-1.6.0.html |   7 +-
 ...aling-accumulo-with-multivolume-support.html |   7 +-
 .../07/09/functional-reads-over-accumulo.html   |   7 +-
 ...tores-for-configuring-accumulo-with-ssl.html |   7 +-
 .../2015/03/20/balancing-groups-of-tablets.html |   7 +-
 ...plicating-data-across-accumulo-clusters.html |   7 +-
 blog/2016/11/02/durability-performance.html     | 369 +++++++++++++++++++
 feed.xml                                        | 179 ++++++++-
 index.html                                      |  14 +-
 news.html                                       |   7 +
 12 files changed, 614 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/e6015ace/1.6/accumulo_user_manual.html
----------------------------------------------------------------------
diff --git a/1.6/accumulo_user_manual.html b/1.6/accumulo_user_manual.html
index 7834ec8..509b673 100644
--- a/1.6/accumulo_user_manual.html
+++ b/1.6/accumulo_user_manual.html
@@ -762,6 +762,7 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }
 <li><a href="#_tserver_wal_blocksize">tserver.wal.blocksize</a></li>
 <li><a href="#_tserver_wal_replication">tserver.wal.replication</a></li>
 <li><a href="#_tserver_wal_sync">tserver.wal.sync</a></li>
+<li><a href="#_tserver_wal_sync_method">tserver.wal.sync.method</a></li>
 <li><a href="#_tserver_walog_max_size">tserver.walog.max.size</a></li>
 <li><a href="#_tserver_walog_max_age">tserver.walog.max.age</a></li>
 <li><a href="#_tserver_workq_threads">tserver.workq.threads</a></li>
@@ -7100,6 +7101,17 @@ $HADOOP_PREFIX/share/hadoop/mapreduce/.*.jar,
 </div>
 </div>
 <div class="sect4">
+<h5 id="_tserver_wal_sync_method">tserver.wal.sync.method</h5>
+<div class="paragraph">
+<p>The method to invoke when sync'ing WALs. HSync will provide resiliency in the face of unexpected power outages, at the cost of speed. If method is not available, the legacy 'sync' method will be used to ensure backwards compatibility with older Hadoop versions. A value of 'hflush' is the alternative to the default value of 'hsync' which will result in faster writes, but with less durability.  This property was added in Accumulo 1.6.1.</p>
+</div>
+<div class="paragraph">
+<p><em>Type:</em> STRING<br>
+<em>Zookeeper Mutable:</em> yes<br>
+<em>Default Value:</em> <code>hsync</code></p>
+</div>
+</div>
+<div class="sect4">
 <h5 id="_tserver_walog_max_size">tserver.walog.max.size</h5>
 <div class="paragraph">
 <p>The maximum size for each write-ahead log. See comment for property tserver.memory.maps.max</p>

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/e6015ace/blog/2014/05/03/accumulo-classloader.html
----------------------------------------------------------------------
diff --git a/blog/2014/05/03/accumulo-classloader.html b/blog/2014/05/03/accumulo-classloader.html
index 29f76e4..b8bea5d 100644
--- a/blog/2014/05/03/accumulo-classloader.html
+++ b/blog/2014/05/03/accumulo-classloader.html
@@ -176,7 +176,12 @@
           
           <h1 class="title">The Accumulo ClassLoader</h1>
           
-          <h5>Dave Marion - 03 May 2014 </h5>
+          <table>
+<tr><td><b>Author</b></td><td>&nbsp;&nbsp;Dave Marion </td></tr>
+<tr><td><b>Post date </b></td><td> &nbsp;&nbsp;03 May 2014 </td></tr>
+
+</table>
+<p>
 
 <p>Originally posted at <a href="https://blogs.apache.org/accumulo/entry/the_accumulo_classloader">https://blogs.apache.org/accumulo/entry/the_accumulo_classloader</a></p>
 

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/e6015ace/blog/2014/05/27/getting-started-with-accumulo-1.6.0.html
----------------------------------------------------------------------
diff --git a/blog/2014/05/27/getting-started-with-accumulo-1.6.0.html b/blog/2014/05/27/getting-started-with-accumulo-1.6.0.html
index 92faf18..b716a80 100644
--- a/blog/2014/05/27/getting-started-with-accumulo-1.6.0.html
+++ b/blog/2014/05/27/getting-started-with-accumulo-1.6.0.html
@@ -176,7 +176,12 @@
           
           <h1 class="title">Getting Started with Apache Accumulo 1.6.0</h1>
           
-          <h5>Josh Elser - 27 May 2014 </h5>
+          <table>
+<tr><td><b>Author</b></td><td>&nbsp;&nbsp;Josh Elser </td></tr>
+<tr><td><b>Post date </b></td><td> &nbsp;&nbsp;27 May 2014 </td></tr>
+
+</table>
+<p>
 
 <p>Originally posted at <a href="https://blogs.apache.org/accumulo/entry/getting_started_with_apache_accumulo">https://blogs.apache.org/accumulo/entry/getting_started_with_apache_accumulo</a></p>
 

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/e6015ace/blog/2014/06/25/scaling-accumulo-with-multivolume-support.html
----------------------------------------------------------------------
diff --git a/blog/2014/06/25/scaling-accumulo-with-multivolume-support.html b/blog/2014/06/25/scaling-accumulo-with-multivolume-support.html
index cef8e36..db69750 100644
--- a/blog/2014/06/25/scaling-accumulo-with-multivolume-support.html
+++ b/blog/2014/06/25/scaling-accumulo-with-multivolume-support.html
@@ -176,7 +176,12 @@
           
           <h1 class="title">Scaling Accumulo with Multi-Volume Support</h1>
           
-          <h5>Dave Marion & Eric Newton - 25 Jun 2014 </h5>
+          <table>
+<tr><td><b>Author</b></td><td>&nbsp;&nbsp;Dave Marion & Eric Newton </td></tr>
+<tr><td><b>Post date </b></td><td> &nbsp;&nbsp;25 Jun 2014 </td></tr>
+
+</table>
+<p>
 
 <p>Originally posted at <a href="https://blogs.apache.org/accumulo/entry/scaling_accumulo_with_multi_volume">https://blogs.apache.org/accumulo/entry/scaling_accumulo_with_multi_volume</a></p>
 

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/e6015ace/blog/2014/07/09/functional-reads-over-accumulo.html
----------------------------------------------------------------------
diff --git a/blog/2014/07/09/functional-reads-over-accumulo.html b/blog/2014/07/09/functional-reads-over-accumulo.html
index d56e2aa..84bedd4 100644
--- a/blog/2014/07/09/functional-reads-over-accumulo.html
+++ b/blog/2014/07/09/functional-reads-over-accumulo.html
@@ -176,7 +176,12 @@
           
           <h1 class="title">Functional reads over Accumulo</h1>
           
-          <h5>Josh Elser - 09 Jul 2014 </h5>
+          <table>
+<tr><td><b>Author</b></td><td>&nbsp;&nbsp;Josh Elser </td></tr>
+<tr><td><b>Post date </b></td><td> &nbsp;&nbsp;09 Jul 2014 </td></tr>
+
+</table>
+<p>
 
 <p>Originally posted at <a href="https://blogs.apache.org/accumulo/entry/thinking_about_reads_over_accumulo">https://blogs.apache.org/accumulo/entry/thinking_about_reads_over_accumulo</a></p>
 

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/e6015ace/blog/2014/09/02/generating-keystores-for-configuring-accumulo-with-ssl.html
----------------------------------------------------------------------
diff --git a/blog/2014/09/02/generating-keystores-for-configuring-accumulo-with-ssl.html b/blog/2014/09/02/generating-keystores-for-configuring-accumulo-with-ssl.html
index 65f67c0..602e942 100644
--- a/blog/2014/09/02/generating-keystores-for-configuring-accumulo-with-ssl.html
+++ b/blog/2014/09/02/generating-keystores-for-configuring-accumulo-with-ssl.html
@@ -176,7 +176,12 @@
           
           <h1 class="title">Generating Keystores for configuring Accumulo with SSL</h1>
           
-          <h5>Josh Elser - 02 Sep 2014 </h5>
+          <table>
+<tr><td><b>Author</b></td><td>&nbsp;&nbsp;Josh Elser </td></tr>
+<tr><td><b>Post date </b></td><td> &nbsp;&nbsp;02 Sep 2014 </td></tr>
+
+</table>
+<p>
 
 <p>Originally posted at <a href="https://blogs.apache.org/accumulo/entry/generating_keystores_for_configuring_accumulo">https://blogs.apache.org/accumulo/entry/generating_keystores_for_configuring_accumulo</a></p>
 

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/e6015ace/blog/2015/03/20/balancing-groups-of-tablets.html
----------------------------------------------------------------------
diff --git a/blog/2015/03/20/balancing-groups-of-tablets.html b/blog/2015/03/20/balancing-groups-of-tablets.html
index 45e3f31..b262d93 100644
--- a/blog/2015/03/20/balancing-groups-of-tablets.html
+++ b/blog/2015/03/20/balancing-groups-of-tablets.html
@@ -176,7 +176,12 @@
           
           <h1 class="title">Balancing Groups of Tablets</h1>
           
-          <h5>Keith Turner - 20 Mar 2015 </h5>
+          <table>
+<tr><td><b>Author</b></td><td>&nbsp;&nbsp;Keith Turner </td></tr>
+<tr><td><b>Post date </b></td><td> &nbsp;&nbsp;20 Mar 2015 </td></tr>
+
+</table>
+<p>
 
 <p>Originally posted at <a href="https://blogs.apache.org/accumulo/entry/balancing_groups_of_tablets">https://blogs.apache.org/accumulo/entry/balancing_groups_of_tablets</a></p>
 

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/e6015ace/blog/2015/04/06/replicating-data-across-accumulo-clusters.html
----------------------------------------------------------------------
diff --git a/blog/2015/04/06/replicating-data-across-accumulo-clusters.html b/blog/2015/04/06/replicating-data-across-accumulo-clusters.html
index 0efe2c2..8202480 100644
--- a/blog/2015/04/06/replicating-data-across-accumulo-clusters.html
+++ b/blog/2015/04/06/replicating-data-across-accumulo-clusters.html
@@ -176,7 +176,12 @@
           
           <h1 class="title">Replicating data across Accumulo clusters</h1>
           
-          <h5>Josh Elser - 06 Apr 2015 </h5>
+          <table>
+<tr><td><b>Author</b></td><td>&nbsp;&nbsp;Josh Elser </td></tr>
+<tr><td><b>Post date </b></td><td> &nbsp;&nbsp;06 Apr 2015 </td></tr>
+
+</table>
+<p>
 
 <p>Originally posted at <a href="https://blogs.apache.org/accumulo/entry/data_center_replication">https://blogs.apache.org/accumulo/entry/data_center_replication</a></p>
 

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/e6015ace/blog/2016/11/02/durability-performance.html
----------------------------------------------------------------------
diff --git a/blog/2016/11/02/durability-performance.html b/blog/2016/11/02/durability-performance.html
new file mode 100644
index 0000000..9209fb3
--- /dev/null
+++ b/blog/2016/11/02/durability-performance.html
@@ -0,0 +1,369 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<link href="https://maxcdn.bootstrapcdn.com/bootswatch/3.3.7/paper/bootstrap.min.css" rel="stylesheet" integrity="sha384-awusxf8AUojygHf2+joICySzB780jVvQaVCAt1clU3QsyAitLGul28Qxb2r1e5g+" crossorigin="anonymous">
+<link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
+<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/bs/jq-2.2.3/dt-1.10.12/datatables.min.css">
+<link href="/css/accumulo.css" rel="stylesheet" type="text/css">
+
+<title>Durability Performance Implications</title>
+
+<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
+<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
+<script type="text/javascript" src="https://cdn.datatables.net/v/bs/jq-2.2.3/dt-1.10.12/datatables.min.js"></script>
+<script>
+  // show location of canonical site if not currently on the canonical site
+  $(function() {
+    var host = window.location.host;
+    if (typeof host !== 'undefined' && host !== 'accumulo.apache.org') {
+      $('#non-canonical').show();
+    }
+  });
+
+  $(function() {
+    // decorate section headers with anchors
+    return $("h2, h3, h4, h5, h6").each(function(i, el) {
+      var $el, icon, id;
+      $el = $(el);
+      id = $el.attr('id');
+      icon = '<i class="fa fa-link"></i>';
+      if (id) {
+        return $el.append($("<a />").addClass("header-link").attr("href", "#" + id).html(icon));
+      }
+    });
+  });
+  
+  // configure Google Analytics
+  (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');
+
+  if (ga.hasOwnProperty('loaded') && ga.loaded === true) {
+    ga('create', 'UA-50934829-1', 'apache.org');
+    ga('send', 'pageview');
+  }
+</script>
+
+</head>
+<body style="padding-top: 100px">
+
+  <nav class="navbar navbar-default navbar-fixed-top">
+  <div class="container">
+    <div class="navbar-header">
+      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-items">
+        <span class="sr-only">Toggle navigation</span>
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+      </button>
+      <a href="/"><img id="nav-logo" alt="Apache Accumulo" class="img-responsive" src="/images/accumulo-logo.png" width="200"/></a>
+    </div>
+    <div class="collapse navbar-collapse" id="navbar-items">
+      <ul class="nav navbar-nav">
+        <li class="nav-link"><a href="/downloads">Download</a></li>
+        <li class="dropdown">
+        <a class="dropdown-toggle" data-toggle="dropdown" href="#">Documentation<span class="caret"></span></a>
+        <ul class="dropdown-menu">
+          <li class="dropdown-header">1.8.0 Release (Latest)</li>
+          <li><a href="/release_notes/1.8.0">Release Notes</a></li>
+          <li><a href="/1.8/accumulo_user_manual">User Manual</a></li>
+          <li><a href="/1.8/apidocs">Javadoc</a></li>
+          <li><a href="/1.8/examples">Examples</a></li>
+          <li class="divider"></li>
+          <li class="dropdown-header">1.7.2 Release</li>
+          <li><a href="/release_notes/1.7.2">Release Notes</a></li>
+          <li><a href="/1.7/accumulo_user_manual">User Manual</a></li>
+          <li><a href="/1.7/apidocs">Javadoc</a></li>
+          <li><a href="/1.7/examples">Examples</a></li>
+          <li class="divider"></li>
+          <li class="dropdown-header">1.6.6 Release</li>
+          <li><a href="/release_notes/1.6.6">Release Notes</a></li>
+          <li><a href="/1.6/accumulo_user_manual">User Manual</a></li>
+          <li><a href="/1.6/apidocs">Javadoc</a></li>
+          <li><a href="/1.6/examples">Examples</a></li>
+          <li class="divider"></li>
+          <li><a href="/notable_features">Features</a></li>
+          <li><a href="/release_notes">Release Notes Archive</a></li>
+          <li><a href="/old_documentation">Documentation Archive</a></li>
+          <li><a href="/screenshots">Screenshots</a></li>
+          <li><a href="/papers">Papers &amp; Presentations</a></li>
+          <li><a href="/glossary">Glossary</a></li>
+        </ul>
+        </li>
+        <li class="dropdown">
+        <a class="dropdown-toggle" data-toggle="dropdown" href="#">Community<span class="caret"></span></a>
+        <ul class="dropdown-menu">
+          <li><a href="/get_involved">Get Involved</a></li>
+          <li><a href="/mailing_list">Mailing Lists</a></li>
+          <li><a href="/people">People</a></li>
+          <li><a href="/news">News Archive</a></li>
+          <li><a href="/projects">Community Projects</a></li>
+          <li><a href="/thanks">Thanks</a></li>
+          <li class="divider"></li>
+          <li class="dropdown-header">Governance</li>
+          <li><a href="/bylaws">Bylaws</a></li>
+          <li><a href="/governance/consensusBuilding">Consensus Building</a></li>
+          <li><a href="/governance/lazyConsensus">Lazy Consensus</a></li>
+          <li><a href="/governance/releasing">Releasing</a></li>
+          <li><a href="/governance/voting">Voting</a></li>
+        </ul>
+        </li>
+        <li class="dropdown">
+        <a class="dropdown-toggle" data-toggle="dropdown" href="#">Development<span class="caret"></span></a>
+        <ul class="dropdown-menu">
+          <li><a href="https://issues.apache.org/jira/browse/ACCUMULO">Issue Tracker <i class="fa fa-external-link"></i></a></li>
+          <li><a href="https://github.com/apache/accumulo/pulls">Pull Requests <i class="fa fa-external-link"></i></a></li>
+          <li><a href="https://builds.apache.org/view/A/view/Accumulo">Jenkins Builds <i class="fa fa-external-link"></i></a></li>
+          <li><a href="https://travis-ci.org/apache/accumulo">TravisCI Builds <i class="fa fa-external-link"></i></a></li>
+          <li class="divider"></li>
+          <li class="dropdown-header">Guides</li>
+          <li><a href="/source">Source &amp; Guide</a></li>
+          <li><a href="/git">Git Workflow</a></li>
+          <li><a href="/versioning">Versioning</a></li>
+          <li><a href="/contrib">Contrib Projects</a></li>
+          <li><a href="/rb">Review Board</a></li>
+          <li><a href="/releasing">Making Releases</a></li>
+          <li><a href="/verifying_releases">Verifying Releases</a></li>
+        </ul>
+        </li>
+      </ul>
+      <ul class="nav navbar-nav navbar-right">
+        <li class="dropdown">
+        <a class="dropdown-toggle" data-toggle="dropdown" href="#">Apache Software Foundation<span class="caret"></span></a>
+        <ul class="dropdown-menu">
+          <li><a href="https://www.apache.org">Apache Homepage <i class="fa fa-external-link"></i></a></li>
+          <li><a href="https://www.apache.org/licenses/LICENSE-2.0">License <i class="fa fa-external-link"></i></a></li>
+          <li><a href="https://www.apache.org/foundation/sponsorship">Sponsorship <i class="fa fa-external-link"></i></a></li>
+          <li><a href="https://www.apache.org/security">Security <i class="fa fa-external-link"></i></a></li>
+          <li><a href="https://www.apache.org/foundation/thanks">Thanks <i class="fa fa-external-link"></i></a></li>
+          <li><a href="https://www.apache.org/foundation/policies/conduct">Code of Conduct <i class="fa fa-external-link"></i></a></li>
+        </ul>
+        </li>
+      </ul>
+    </div>
+  </div>
+</nav>
+
+
+  <div class="container">
+    <div class="row">
+      <div class="col-md-12">
+
+        <div id="non-canonical" style="display: none; background-color: #F0E68C; padding-left: 1em;">
+          Visit the official site at: <a href="https://accumulo.apache.org">https://accumulo.apache.org</a>
+        </div>
+        <div id="content">
+          
+          <h1 class="title">Durability Performance Implications</h1>
+          
+          <table>
+<tr><td><b>Author</b></td><td>&nbsp;&nbsp;Keith Turner </td></tr>
+<tr><td><b>Post date </b></td><td> &nbsp;&nbsp;02 Nov 2016 </td></tr>
+<tr><td><b>Reviewer(s) </b></td><td> &nbsp;&nbsp;Josh Elser, Dave Marion, Christopher Tubbs </td></tr>
+</table>
+<p>
+
+<h2 id="overview">Overview</h2>
+
+<p>Accumulo stores recently written data in a sorted in memory map.  Before data is
+added to this map, it’s written to an unsorted write ahead log(WAL).  In the
+case when a tablet server dies, the recently written data is recovered from the
+WAL.</p>
+
+<p>When data is written to Accumulo the following happens :</p>
+
+<ul>
+  <li>Client sends a batch of mutations to a tablet server</li>
+  <li>Tablet server does the following :
+    <ul>
+      <li>Writes mutation to tablet servers WAL</li>
+      <li>Sync or flush tablet servers’ WAL</li>
+      <li>Adds mutations to sorted in memory map of each tablet.</li>
+      <li>Reports success back to client.</li>
+    </ul>
+  </li>
+</ul>
+
+<p>The sync/flush step above moves data written to the WAL from memory to disk.
+Write ahead logs are stored in HDFS. HDFS supports two ways of forcing data to
+disk for an open file : <code class="highlighter-rouge">hsync</code> and <code class="highlighter-rouge">hflush</code>.</p>
+
+<h2 id="hdfs-syncflush-details">HDFS Sync/Flush Details</h2>
+
+<p>When <code class="highlighter-rouge">hflush</code> is called on a WAL, it does not guarantee data is on disk.  It
+only guarantees that data is in OS buffers on each datanode and on its way to disk.
+As a result calls to <code class="highlighter-rouge">hflush</code> are very fast.  If a WAL is replicated to 3 data
+nodes then data may be lost if all three machines reboot or die.  If the datanode
+process dies, then data loss will not happen because the data was in OS buffers
+waiting to be written to disk.  The machines have to reboot or die for data loss to
+occur.</p>
+
+<p>In order to avoid data loss in the event of reboot, <code class="highlighter-rouge">hsync</code> can be called.  This
+will ensure data is written to disk on all datanodes before returning.  When
+using <code class="highlighter-rouge">hsync</code> for the WAL, if Accumulo reports success to a user it means the
+data is on disk.  However <code class="highlighter-rouge">hsync</code> is much slower than <code class="highlighter-rouge">hflush</code> and the way it’s
+implemented exacerbates the problem.  For example <code class="highlighter-rouge">hflush</code> make take 1ms and
+<code class="highlighter-rouge">hsync</code> may take 50ms.  This difference will impact writes to Accumulo and can
+be mitigated in some situations with larger buffers in Accumulo.</p>
+
+<p>HDFS keeps checksum data internally by default.  Datanodes store checksum data
+in a separate file in the local filesystem.  This means when <code class="highlighter-rouge">hsync</code> is called
+on a WAL, two files must be synced on each datanode.  Syncing two files doubles
+the time. To make matters even worse, when the two files are synced the local
+filesystem metadata is also synced.  Depending on the local filesystem and its
+configuration, syncing the metadata may or may not take time.  In the worst
+case, we need to wait for four sync operations at the local filesystem level on
+each datanode. One thing I am not sure about, is if these sync operations occur
+in parallel on the replicas on different datanodes.  If anyone can answer this
+question, please let us know on the <a href="/mailing_list">dev list</a>. The following pointers show
+where sync occurs in the datanode code.</p>
+
+<ul>
+  <li><a href="https://github.com/apache/hadoop/blob/release-2.7.1/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockReceiver.java#L358">BlockReceiver.flushOrSync()</a> calls <a href="https://github.com/apache/hadoop/blob/release-2.7.1/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/ReplicaOutputStreams.java#L78">ReplicaOutputStreams.syncDataOut()</a> and <a href="https://github.com/apache/hadoop/blob/release-2.7.1/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/ReplicaOutputStreams.java#L87">ReplicaOutputStreams.syncChecksumOut()</a> when <code class="highlighter-rouge">isSync</code> is true.</li>
+  <li>The methods in ReplicaOutputStreams call <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html#force-boolean-">FileChannel.force(true)</a> which
+synchronously flushes data and filesystem metadata.</li>
+</ul>
+
+<p>If files were preallocated (this would avoid syncing local filesystem metadata)
+and checksums were stored in-line, then 1 sync could be done instead of 4.</p>
+
+<h2 id="configuring-wal-flushsync-in-accumulo-16">Configuring WAL flush/sync in Accumulo 1.6</h2>
+
+<p>Accumulo 1.6.0 only supported <code class="highlighter-rouge">hsync</code> and this caused <a href="/release_notes/1.6.0#slower-writes-than-previous-accumulo-versions">performance
+problems</a>.  In order to offer better performance, the option to
+configure <code class="highlighter-rouge">hflush</code> was <a href="/release_notes/1.6.1#write-ahead-log-sync-implementation">added in 1.6.1</a>.  The
+<a href="/1.6/accumulo_user_manual#_tserver_wal_sync_method">tserver.wal.sync.method</a> configuration option was added to support
+this feature.  This was a tablet server wide option that applied to everything
+written to any table.</p>
+
+<h2 id="group-commit">Group Commit</h2>
+
+<p>Each Accumulo tablet server has a single WAL.  When multiple clients send
+mutations to a tablet server at around the same time, the tablet sever may group
+all of this into a single WAL operation.  It will do this instead of writing and
+syncing or flushing each client’s mutations to the WAL separately.  Doing this
+increase throughput and lowers average latency for clients.</p>
+
+<h2 id="configuring-wal-flushsync-in-accumulo-17">Configuring WAL flush/sync in Accumulo 1.7+</h2>
+
+<p>Accumulo 1.7.0 introduced <a href="/1.7/accumulo_user_manual#_table_durability">table.durability</a>, a new per table property
+for configuring durability.  It also stopped using the <code class="highlighter-rouge">tserver.wal.sync.method</code>
+property.  The <code class="highlighter-rouge">table.durability</code> property has the following four legal values.
+This property defaults to the most durable option which is <code class="highlighter-rouge">sync</code>.</p>
+
+<ul>
+  <li><strong>none</strong> : Do not write to WAL</li>
+  <li><strong>log</strong>  : Write to WAL, but do not sync</li>
+  <li><strong>flush</strong> : Write to WAL and call <code class="highlighter-rouge">hflush</code></li>
+  <li><strong>sync</strong> : Write to WAL and call <code class="highlighter-rouge">hsync</code></li>
+</ul>
+
+<p>If multiple writes arrive at around the same time with different durability
+settings, then the group commit code will choose the most durable.  This can
+cause one tables settings to slow down writes to another table.  Basically, one
+table that is set to <code class="highlighter-rouge">sync</code> can impact the entire system.</p>
+
+<p>In Accumulo 1.6, it was easy to make all writes use <code class="highlighter-rouge">hflush</code> because there was
+only one tserver setting.  Getting everything to use <code class="highlighter-rouge">flush</code> in 1.7 and later
+can be a little tricky because by default the Accumulo metadata table is set to
+use <code class="highlighter-rouge">sync</code>.  The following shell commands show this. The first command sets
+<code class="highlighter-rouge">table.durability=flush</code> as a system wide default for all tables.  However, the
+metadata table is still set to <code class="highlighter-rouge">sync</code>, because it has a per table override for
+that setting.  This override is set when Accumulo is initialized.  To get this
+table to use <code class="highlighter-rouge">flush</code>, the per table override must be deleted.  After deleting
+those properties, the metadata tables will inherit the system wide setting.</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>root@uno&gt; config -s table.durability=flush
+root@uno&gt; createtable foo
+root@uno foo&gt; config -t foo -f table.durability
+-----------+---------------------+----------------------------------------------
+SCOPE      | NAME                | VALUE
+-----------+---------------------+----------------------------------------------
+default    | table.durability .. | sync
+system     |    @override ...... | flush
+-----------+---------------------+----------------------------------------------
+root@uno&gt; config -t accumulo.metadata -f table.durability
+-----------+---------------------+----------------------------------------------
+SCOPE      | NAME                | VALUE
+-----------+---------------------+----------------------------------------------
+default    | table.durability .. | sync
+system     |    @override ...... | flush
+table      |    @override ...... | sync
+-----------+---------------------+----------------------------------------------
+root@uno&gt; config -t accumulo.metadata -d table.durability
+root@uno&gt; config -t accumulo.metadata -f table.durability
+-----------+---------------------+----------------------------------------------
+SCOPE      | NAME                | VALUE
+-----------+---------------------+----------------------------------------------
+default    | table.durability .. | sync
+system     |    @override ...... | flush
+-----------+---------------------+----------------------------------------------
+</code></pre>
+</div>
+
+<p>In short, executing the following commands will make all writes use <code class="highlighter-rouge">flush</code>
+(assuming no other tables or namespaces have been specifically set to <code class="highlighter-rouge">sync</code>).</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>config -s table.durability=flush
+config -t accumulo.metadata -d table.durability
+config -t accumulo.root -d table.durability
+</code></pre>
+</div>
+
+<p>Even with these settings adjusted, minor compactions could still force <code class="highlighter-rouge">hsync</code>
+to be called in 1.7.0 and 1.7.1.  This was fixed in 1.7.2 and 1.8.0.  See the
+<a href="/release_notes/1.7.2#minor-performance-improvements">1.7.2 release notes</a> and <a href="https://issues.apache.org/jira/browse/ACCUMULO-4112">ACCUMULO-4112</a> for more details.</p>
+
+<p>In addition to the per table durability setting, a per batch writer durability
+setting was also added in 1.7.0.  See
+<a href="/1.8/apidocs/org/apache/accumulo/core/client/BatchWriterConfig.html#setDurability(org.apache.accumulo.core.client.Durability)">BatchWriterConfig.setDurability(…)</a>.  This means any client could
+potentially cause a <code class="highlighter-rouge">hsync</code> operation to occur, even if the system is
+configured to use <code class="highlighter-rouge">hflush</code>.</p>
+
+<h2 id="improving-the-situation">Improving the situation</h2>
+
+<p>The more granular durability settings introduced in 1.7.0 can cause some
+unexpected problems.  <a href="https://issues.apache.org/jira/browse/ACCUMULO-4146">ACCUMULO-4146</a> suggests one possible way to solve these
+problems with Per-durability write ahead logs.</p>
+
+
+
+<p><strong>View all posts in the <a href="/news">news archive</a></strong></p>
+
+        </div>
+
+        
+<footer>
+
+  <p><a href="https://www.apache.org"><img src="/images/feather-small.gif" alt="Apache Software Foundation" id="asf-logo" height="100" /></a></p>
+
+  <p>Copyright © 2011-2016 The Apache Software Foundation. Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
+
+</footer>
+
+
+      </div>
+    </div>
+  </div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/e6015ace/feed.xml
----------------------------------------------------------------------
diff --git a/feed.xml b/feed.xml
index d51d590..3e81da7 100644
--- a/feed.xml
+++ b/feed.xml
@@ -6,11 +6,186 @@
 </description>
     <link>https://accumulo.apache.org/</link>
     <atom:link href="https://accumulo.apache.org/feed.xml" rel="self" type="application/rss+xml"/>
-    <pubDate>Fri, 28 Oct 2016 17:29:42 -0400</pubDate>
-    <lastBuildDate>Fri, 28 Oct 2016 17:29:42 -0400</lastBuildDate>
+    <pubDate>Wed, 02 Nov 2016 14:51:16 -0400</pubDate>
+    <lastBuildDate>Wed, 02 Nov 2016 14:51:16 -0400</lastBuildDate>
     <generator>Jekyll v3.2.1</generator>
     
       <item>
+        <title>Durability Performance Implications</title>
+        <description>&lt;h2 id=&quot;overview&quot;&gt;Overview&lt;/h2&gt;
+
+&lt;p&gt;Accumulo stores recently written data in a sorted in memory map.  Before data is
+added to this map, it’s written to an unsorted write ahead log(WAL).  In the
+case when a tablet server dies, the recently written data is recovered from the
+WAL.&lt;/p&gt;
+
+&lt;p&gt;When data is written to Accumulo the following happens :&lt;/p&gt;
+
+&lt;ul&gt;
+  &lt;li&gt;Client sends a batch of mutations to a tablet server&lt;/li&gt;
+  &lt;li&gt;Tablet server does the following :
+    &lt;ul&gt;
+      &lt;li&gt;Writes mutation to tablet servers WAL&lt;/li&gt;
+      &lt;li&gt;Sync or flush tablet servers’ WAL&lt;/li&gt;
+      &lt;li&gt;Adds mutations to sorted in memory map of each tablet.&lt;/li&gt;
+      &lt;li&gt;Reports success back to client.&lt;/li&gt;
+    &lt;/ul&gt;
+  &lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;The sync/flush step above moves data written to the WAL from memory to disk.
+Write ahead logs are stored in HDFS. HDFS supports two ways of forcing data to
+disk for an open file : &lt;code class=&quot;highlighter-rouge&quot;&gt;hsync&lt;/code&gt; and &lt;code class=&quot;highlighter-rouge&quot;&gt;hflush&lt;/code&gt;.&lt;/p&gt;
+
+&lt;h2 id=&quot;hdfs-syncflush-details&quot;&gt;HDFS Sync/Flush Details&lt;/h2&gt;
+
+&lt;p&gt;When &lt;code class=&quot;highlighter-rouge&quot;&gt;hflush&lt;/code&gt; is called on a WAL, it does not guarantee data is on disk.  It
+only guarantees that data is in OS buffers on each datanode and on its way to disk.
+As a result calls to &lt;code class=&quot;highlighter-rouge&quot;&gt;hflush&lt;/code&gt; are very fast.  If a WAL is replicated to 3 data
+nodes then data may be lost if all three machines reboot or die.  If the datanode
+process dies, then data loss will not happen because the data was in OS buffers
+waiting to be written to disk.  The machines have to reboot or die for data loss to
+occur.&lt;/p&gt;
+
+&lt;p&gt;In order to avoid data loss in the event of reboot, &lt;code class=&quot;highlighter-rouge&quot;&gt;hsync&lt;/code&gt; can be called.  This
+will ensure data is written to disk on all datanodes before returning.  When
+using &lt;code class=&quot;highlighter-rouge&quot;&gt;hsync&lt;/code&gt; for the WAL, if Accumulo reports success to a user it means the
+data is on disk.  However &lt;code class=&quot;highlighter-rouge&quot;&gt;hsync&lt;/code&gt; is much slower than &lt;code class=&quot;highlighter-rouge&quot;&gt;hflush&lt;/code&gt; and the way it’s
+implemented exacerbates the problem.  For example &lt;code class=&quot;highlighter-rouge&quot;&gt;hflush&lt;/code&gt; make take 1ms and
+&lt;code class=&quot;highlighter-rouge&quot;&gt;hsync&lt;/code&gt; may take 50ms.  This difference will impact writes to Accumulo and can
+be mitigated in some situations with larger buffers in Accumulo.&lt;/p&gt;
+
+&lt;p&gt;HDFS keeps checksum data internally by default.  Datanodes store checksum data
+in a separate file in the local filesystem.  This means when &lt;code class=&quot;highlighter-rouge&quot;&gt;hsync&lt;/code&gt; is called
+on a WAL, two files must be synced on each datanode.  Syncing two files doubles
+the time. To make matters even worse, when the two files are synced the local
+filesystem metadata is also synced.  Depending on the local filesystem and its
+configuration, syncing the metadata may or may not take time.  In the worst
+case, we need to wait for four sync operations at the local filesystem level on
+each datanode. One thing I am not sure about, is if these sync operations occur
+in parallel on the replicas on different datanodes.  If anyone can answer this
+question, please let us know on the &lt;a href=&quot;/mailing_list&quot;&gt;dev list&lt;/a&gt;. The following pointers show
+where sync occurs in the datanode code.&lt;/p&gt;
+
+&lt;ul&gt;
+  &lt;li&gt;&lt;a href=&quot;https://github.com/apache/hadoop/blob/release-2.7.1/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockReceiver.java#L358&quot;&gt;BlockReceiver.flushOrSync()&lt;/a&gt; calls &lt;a href=&quot;https://github.com/apache/hadoop/blob/release-2.7.1/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/ReplicaOutputStreams.java#L78&quot;&gt;ReplicaOutputStreams.syncDataOut()&lt;/a&gt; and &lt;a href=&quot;https://github.com/apache/hadoop/blob/release-2.7.1/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/ReplicaOutputStreams.java#L87&quot;&gt;ReplicaOutputStreams.syncChecksumOut()&lt;/a&gt; when &lt;code class=&quot;highlighter-rouge&quot;&gt;isSync&lt;/code&gt; is true.&lt;/li&gt;
+  &lt;li&gt;The methods in ReplicaOutputStreams call &lt;a href=&quot;https://docs.oracle.com/javase/8/docs/api/java/nio/channels/FileChannel.html#force-boolean-&quot;&gt;FileChannel.force(true)&lt;/a&gt; which
+synchronously flushes data and filesystem metadata.&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;If files were preallocated (this would avoid syncing local filesystem metadata)
+and checksums were stored in-line, then 1 sync could be done instead of 4.&lt;/p&gt;
+
+&lt;h2 id=&quot;configuring-wal-flushsync-in-accumulo-16&quot;&gt;Configuring WAL flush/sync in Accumulo 1.6&lt;/h2&gt;
+
+&lt;p&gt;Accumulo 1.6.0 only supported &lt;code class=&quot;highlighter-rouge&quot;&gt;hsync&lt;/code&gt; and this caused &lt;a href=&quot;/release_notes/1.6.0#slower-writes-than-previous-accumulo-versions&quot;&gt;performance
+problems&lt;/a&gt;.  In order to offer better performance, the option to
+configure &lt;code class=&quot;highlighter-rouge&quot;&gt;hflush&lt;/code&gt; was &lt;a href=&quot;/release_notes/1.6.1#write-ahead-log-sync-implementation&quot;&gt;added in 1.6.1&lt;/a&gt;.  The
+&lt;a href=&quot;/1.6/accumulo_user_manual#_tserver_wal_sync_method&quot;&gt;tserver.wal.sync.method&lt;/a&gt; configuration option was added to support
+this feature.  This was a tablet server wide option that applied to everything
+written to any table.&lt;/p&gt;
+
+&lt;h2 id=&quot;group-commit&quot;&gt;Group Commit&lt;/h2&gt;
+
+&lt;p&gt;Each Accumulo tablet server has a single WAL.  When multiple clients send
+mutations to a tablet server at around the same time, the tablet sever may group
+all of this into a single WAL operation.  It will do this instead of writing and
+syncing or flushing each client’s mutations to the WAL separately.  Doing this
+increase throughput and lowers average latency for clients.&lt;/p&gt;
+
+&lt;h2 id=&quot;configuring-wal-flushsync-in-accumulo-17&quot;&gt;Configuring WAL flush/sync in Accumulo 1.7+&lt;/h2&gt;
+
+&lt;p&gt;Accumulo 1.7.0 introduced &lt;a href=&quot;/1.7/accumulo_user_manual#_table_durability&quot;&gt;table.durability&lt;/a&gt;, a new per table property
+for configuring durability.  It also stopped using the &lt;code class=&quot;highlighter-rouge&quot;&gt;tserver.wal.sync.method&lt;/code&gt;
+property.  The &lt;code class=&quot;highlighter-rouge&quot;&gt;table.durability&lt;/code&gt; property has the following four legal values.
+This property defaults to the most durable option which is &lt;code class=&quot;highlighter-rouge&quot;&gt;sync&lt;/code&gt;.&lt;/p&gt;
+
+&lt;ul&gt;
+  &lt;li&gt;&lt;strong&gt;none&lt;/strong&gt; : Do not write to WAL&lt;/li&gt;
+  &lt;li&gt;&lt;strong&gt;log&lt;/strong&gt;  : Write to WAL, but do not sync&lt;/li&gt;
+  &lt;li&gt;&lt;strong&gt;flush&lt;/strong&gt; : Write to WAL and call &lt;code class=&quot;highlighter-rouge&quot;&gt;hflush&lt;/code&gt;&lt;/li&gt;
+  &lt;li&gt;&lt;strong&gt;sync&lt;/strong&gt; : Write to WAL and call &lt;code class=&quot;highlighter-rouge&quot;&gt;hsync&lt;/code&gt;&lt;/li&gt;
+&lt;/ul&gt;
+
+&lt;p&gt;If multiple writes arrive at around the same time with different durability
+settings, then the group commit code will choose the most durable.  This can
+cause one tables settings to slow down writes to another table.  Basically, one
+table that is set to &lt;code class=&quot;highlighter-rouge&quot;&gt;sync&lt;/code&gt; can impact the entire system.&lt;/p&gt;
+
+&lt;p&gt;In Accumulo 1.6, it was easy to make all writes use &lt;code class=&quot;highlighter-rouge&quot;&gt;hflush&lt;/code&gt; because there was
+only one tserver setting.  Getting everything to use &lt;code class=&quot;highlighter-rouge&quot;&gt;flush&lt;/code&gt; in 1.7 and later
+can be a little tricky because by default the Accumulo metadata table is set to
+use &lt;code class=&quot;highlighter-rouge&quot;&gt;sync&lt;/code&gt;.  The following shell commands show this. The first command sets
+&lt;code class=&quot;highlighter-rouge&quot;&gt;table.durability=flush&lt;/code&gt; as a system wide default for all tables.  However, the
+metadata table is still set to &lt;code class=&quot;highlighter-rouge&quot;&gt;sync&lt;/code&gt;, because it has a per table override for
+that setting.  This override is set when Accumulo is initialized.  To get this
+table to use &lt;code class=&quot;highlighter-rouge&quot;&gt;flush&lt;/code&gt;, the per table override must be deleted.  After deleting
+those properties, the metadata tables will inherit the system wide setting.&lt;/p&gt;
+
+&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;root@uno&amp;gt; config -s table.durability=flush
+root@uno&amp;gt; createtable foo
+root@uno foo&amp;gt; config -t foo -f table.durability
+-----------+---------------------+----------------------------------------------
+SCOPE      | NAME                | VALUE
+-----------+---------------------+----------------------------------------------
+default    | table.durability .. | sync
+system     |    @override ...... | flush
+-----------+---------------------+----------------------------------------------
+root@uno&amp;gt; config -t accumulo.metadata -f table.durability
+-----------+---------------------+----------------------------------------------
+SCOPE      | NAME                | VALUE
+-----------+---------------------+----------------------------------------------
+default    | table.durability .. | sync
+system     |    @override ...... | flush
+table      |    @override ...... | sync
+-----------+---------------------+----------------------------------------------
+root@uno&amp;gt; config -t accumulo.metadata -d table.durability
+root@uno&amp;gt; config -t accumulo.metadata -f table.durability
+-----------+---------------------+----------------------------------------------
+SCOPE      | NAME                | VALUE
+-----------+---------------------+----------------------------------------------
+default    | table.durability .. | sync
+system     |    @override ...... | flush
+-----------+---------------------+----------------------------------------------
+&lt;/code&gt;&lt;/pre&gt;
+&lt;/div&gt;
+
+&lt;p&gt;In short, executing the following commands will make all writes use &lt;code class=&quot;highlighter-rouge&quot;&gt;flush&lt;/code&gt;
+(assuming no other tables or namespaces have been specifically set to &lt;code class=&quot;highlighter-rouge&quot;&gt;sync&lt;/code&gt;).&lt;/p&gt;
+
+&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;config -s table.durability=flush
+config -t accumulo.metadata -d table.durability
+config -t accumulo.root -d table.durability
+&lt;/code&gt;&lt;/pre&gt;
+&lt;/div&gt;
+
+&lt;p&gt;Even with these settings adjusted, minor compactions could still force &lt;code class=&quot;highlighter-rouge&quot;&gt;hsync&lt;/code&gt;
+to be called in 1.7.0 and 1.7.1.  This was fixed in 1.7.2 and 1.8.0.  See the
+&lt;a href=&quot;/release_notes/1.7.2#minor-performance-improvements&quot;&gt;1.7.2 release notes&lt;/a&gt; and &lt;a href=&quot;https://issues.apache.org/jira/browse/ACCUMULO-4112&quot;&gt;ACCUMULO-4112&lt;/a&gt; for more details.&lt;/p&gt;
+
+&lt;p&gt;In addition to the per table durability setting, a per batch writer durability
+setting was also added in 1.7.0.  See
+&lt;a href=&quot;/1.8/apidocs/org/apache/accumulo/core/client/BatchWriterConfig.html#setDurability(org.apache.accumulo.core.client.Durability)&quot;&gt;BatchWriterConfig.setDurability(…)&lt;/a&gt;.  This means any client could
+potentially cause a &lt;code class=&quot;highlighter-rouge&quot;&gt;hsync&lt;/code&gt; operation to occur, even if the system is
+configured to use &lt;code class=&quot;highlighter-rouge&quot;&gt;hflush&lt;/code&gt;.&lt;/p&gt;
+
+&lt;h2 id=&quot;improving-the-situation&quot;&gt;Improving the situation&lt;/h2&gt;
+
+&lt;p&gt;The more granular durability settings introduced in 1.7.0 can cause some
+unexpected problems.  &lt;a href=&quot;https://issues.apache.org/jira/browse/ACCUMULO-4146&quot;&gt;ACCUMULO-4146&lt;/a&gt; suggests one possible way to solve these
+problems with Per-durability write ahead logs.&lt;/p&gt;
+
+</description>
+        <pubDate>Wed, 02 Nov 2016 13:00:00 -0400</pubDate>
+        <link>https://accumulo.apache.org/blog/2016/11/02/durability-performance.html</link>
+        <guid isPermaLink="true">https://accumulo.apache.org/blog/2016/11/02/durability-performance.html</guid>
+        
+        
+        <category>blog</category>
+        
+      </item>
+    
+      <item>
         <title>Replicating data across Accumulo clusters</title>
         <description>&lt;p&gt;Originally posted at &lt;a href=&quot;https://blogs.apache.org/accumulo/entry/data_center_replication&quot;&gt;https://blogs.apache.org/accumulo/entry/data_center_replication&lt;/a&gt;&lt;/p&gt;
 

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/e6015ace/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index 7ba37d9..1014490 100644
--- a/index.html
+++ b/index.html
@@ -191,6 +191,13 @@
         
         <div class="row latest-news-item">
           <div class="col-sm-12">
+           <a href="/blog/2016/11/02/durability-performance.html">Durability Performance Implications</a>
+           <span style="font-size: 12px">Nov 2016</span>
+          </div>
+        </div>
+        
+        <div class="row latest-news-item">
+          <div class="col-sm-12">
            <a href="/blog/2015/04/06/replicating-data-across-accumulo-clusters.html">Replicating data across Accumulo clusters</a>
            <span style="font-size: 12px">Apr 2015</span>
           </div>
@@ -217,13 +224,6 @@
           </div>
         </div>
         
-        <div class="row latest-news-item">
-          <div class="col-sm-12">
-           <a href="/blog/2014/06/25/scaling-accumulo-with-multivolume-support.html">Scaling Accumulo with Multi-Volume Support</a>
-           <span style="font-size: 12px">Jun 2014</span>
-          </div>
-        </div>
-        
         <div id="news-archive-link">
          <p>View all posts in the <a href="/news">news archive</a></p>
         </div>

http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/e6015ace/news.html
----------------------------------------------------------------------
diff --git a/news.html b/news.html
index 197c594..c3e754a 100644
--- a/news.html
+++ b/news.html
@@ -181,6 +181,13 @@
   
   
   
+  <tr><th colspan="2">2016</th></tr>
+  
+  <tr><td style="padding: 10px"><small>Nov 02</small></td><td><a href="/blog/2016/11/02/durability-performance.html" class="post-title-archive">Durability Performance Implications</a></td></tr>
+
+  
+  
+  
   <tr><th colspan="2">2015</th></tr>
   
   <tr><td style="padding: 10px"><small>Apr 06</small></td><td><a href="/blog/2015/04/06/replicating-data-across-accumulo-clusters.html" class="post-title-archive">Replicating data across Accumulo clusters</a></td></tr>


Mime
View raw message