You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by bu...@apache.org on 2014/09/26 21:12:27 UTC

svn commit: r923733 - in /websites/staging/accumulo/trunk/content: ./ release_notes/1.6.1.html

Author: buildbot
Date: Fri Sep 26 19:12:27 2014
New Revision: 923733

Log:
Staging update by buildbot for accumulo

Added:
    websites/staging/accumulo/trunk/content/release_notes/1.6.1.html
Modified:
    websites/staging/accumulo/trunk/content/   (props changed)

Propchange: websites/staging/accumulo/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Sep 26 19:12:27 2014
@@ -1 +1 @@
-1627705
+1627862

Added: websites/staging/accumulo/trunk/content/release_notes/1.6.1.html
==============================================================================
--- websites/staging/accumulo/trunk/content/release_notes/1.6.1.html (added)
+++ websites/staging/accumulo/trunk/content/release_notes/1.6.1.html Fri Sep 26 19:12:27 2014
@@ -0,0 +1,352 @@
+<!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="/css/bootstrap.min.css" rel="stylesheet">
+  <link href="/css/bootstrap-theme.min.css" rel="stylesheet">
+  <link href="/css/dataTables.bootstrap.css" rel="stylesheet">
+  <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+  <!--[if lt IE 9]>
+    <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
+    <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
+  <![endif]-->
+  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
+  <script src="/js/bootstrap.min.js"></script>
+  <script src="/js/jquery.dataTables.min.js"></script>
+  <script src="/js/dataTables.bootstrap.js"></script>
+  <link href="/css/accumulo.css" rel="stylesheet" type="text/css">
+  <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
+  <title>Apache Accumulo 1.5.2 Release Notes</title>
+  
+<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-50934829-1', 'apache.org');
+  ga('send', 'pageview');
+
+</script>
+
+</head>
+
+<body>
+<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
+<div class="container-fluid">
+  <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 class="navbar-brand" href="/index.html">Accumulo</a>
+  </div>
+  <div class="collapse navbar-collapse" id="navbar-items">
+  <ul class="nav navbar-nav">
+    <li class="dropdown">
+      <a class="dropdown-toggle" data-toggle="dropdown" href="#">
+        Project <span class="caret"></span>
+      </a>
+<ul class="dropdown-menu">
+<li id="nav_index"><a href="/index.html">Home</a></li>
+<li id="nav_downloads"><a href="/downloads">Downloads</a></li>
+<li id="nav_features"><a href="/notable_features.html">Features</a></li>
+<li><a href="http://www.apache.org/licenses/LICENSE-2.0"><i class="fa fa-external-link"></i> License</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 id="nav_getinvolved"><a href="/get_involved.html">Get Involved</a></li>
+<li id="nav_mailinglists"><a href="/mailing_list.html">Mailing Lists</a></li>
+<li id="nav_people"><a href="/people.html">People</a></li>
+<li id="nav_blog"><a href="https://blogs.apache.org/accumulo/">Blog</a></li>
+<li class="divider"></li>
+<li class="dropdown-header">Governance</li>
+<li id="nav_bylaws"><a href="/bylaws.html">Bylaws</a></li>
+<li id="nav_consensusbuilding"><a href="/governance/consensusBuilding.html">Consensus Building</a></li>
+<li id="nav_lazyconsensus"><a href="/governance/lazyConsensus.html">Lazy Consensus</a></li>
+<li id="nav_releasing"><a href="/governance/releasing.html">Releasing</a></li>
+<li id="nav_voting"><a href="/governance/voting.html">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 id="nav_source"><a href="/source.html">Source &amp; Guide</a></li>
+<li id="nav_git"><a href="/git.html">Git Workflow</a></li>
+<li id="nav_contrib"><a href="/contrib.html">Contrib Projects</a></li>
+<li id="nav_rb"><a href="/rb.html">Review Board</a></li>
+<li id="nav_releasing"><a href="/releasing.html">Making Releases</a></li>
+<li><a href="https://issues.apache.org/jira/browse/accumulo"><i class="fa fa-external-link"></i> Issues</a></li>
+<li><a href="https://builds.apache.org/view/A-D/view/Accumulo/"><i class="fa fa-external-link"></i> Builds</a></li>
+</ul>
+</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">Manual</li>
+<li><a href="/1.5/accumulo_user_manual.html">1.5</a></li>
+<li><a href="/1.6/accumulo_user_manual.html">1.6</a></li>
+<li class="divider"></li>
+<li class="dropdown-header">Javadoc</li>
+<li><a href="/1.5/apidocs">1.5</a></li>
+<li><a href="/1.6/apidocs">1.6</a></li>
+<li class="divider"></li>
+<li class="dropdown-header">Examples</li>
+<li id="nav_examples_1_5"><a href="/1.5/examples">1.5</a></li>
+<li id="nav_examples_1_6"><a href="/1.6/examples">1.6</a></li>
+<li class="divider"></li>
+<li id="old_documentation"><a href="/old_documentation.html">Docs for Older Verisons</a></li>
+<li id="nav_screenshots"><a href="/screenshots.html">Screenshots</a></li>
+<li id="nav_papers"><a href="/papers.html">Papers &amp; Other Links</a></li>
+<li id="nav_glossary"><a href="/glossary.html">Glossary</a></li>
+</ul>
+</li>
+
+    <li class="dropdown">
+      <a class="dropdown-toggle" data-toggle="dropdown" href="#">
+        ASF Links <span class="caret"></span>
+      </a>
+<ul class="dropdown-menu">
+<li><a href="http://www.apache.org"><i class="fa fa-external-link"></i> Apache Software Foundation</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html"><i class="fa fa-external-link"></i> Sponsorship</a></li>
+<li><a href="http://www.apache.org/security/"><i class="fa fa-external-link"></i> Security</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html"><i class="fa fa-external-link"></i> Thanks</a></li>
+</ul>
+</li>
+</ul>
+
+<form method="GET" action="http://search-hadoop.com/" class="navbar-form navbar-right" role="search">
+  <div class="form-group">
+    <input type="text" name="q" class="form-control" placeholder="Search"/>
+    <input type="hidden" name="fc_project" value="Accumulo"/>
+  </div>
+  <button type="submit" class="btn btn-default"><span class="glyphicon glyphicon-search"></span></button>
+</form>
+  </div>
+
+</div>
+</nav>
+
+
+<div class="container-fluid">
+<div class="row">
+  <div class="col-md-2" id="sidebar">
+  <div style="text-align: center">
+    <a href="/index.html"><img id="logo" alt="Apache Accumulo &trade;" class="img-responsive" src="/images/accumulo-logo.png"/></a>
+    <br>
+Latest 1.6 release: <strong>1.6.1</strong><br>
+Latest 1.5 release: <strong>1.5.1</strong><br>
+    <br>
+    <a id="download-button-sidebar" class="btn btn-success btn-block" href="/downloads/" role="button">Download</a>
+  </div>
+    <hr>
+<table class="table" id="sociallinks">
+<tr><td><img src="/images/Twitter_logo_blue.png" style="height: 1em"></td><td><a href="https://twitter.com/apacheaccumulo">@ApacheAccumulo</a></td></tr>
+<tr><td><img src="/images/InBug-16px_0.png"></td><td><a href="https://www.linkedin.com/groups/Apache-Accumulo-Professionals-4554913">Apache Accumulo Professionals</a></td></tr>
+<tr><td><img src="/images/GitHub-Mark-32px.png" style="height: 1em"></td><td><a href="https://github.com/apache/accumulo">apache / accumulo</a></td></tr>
+<tr><td><span class="glyphicon glyphicon-comment"></span></td><td><a href="irc://chat.freenode.net/accumulo">#accumulo @ freenode</a></td></tr>
+<tr><td><img src="/favicon.png" width="16" /></td><td><a href="http://blogs.apache.org/accumulo">Apache Accumulo Blog</a></td></tr>
+</table>
+<hr>
+<a id="accumulo-summit-logo" href="http://accumulosummit.com/"><img alt="Accumulo Summit" class="img-responsive" src="/images/accumulo-summit-2014.png"></a>
+  </div>
+  <div class="col-md-8 col-md-offset-1">
+<!--
+  <div id="bannertext">
+    <img id="logo" alt="Apache Accumulo &trade;" src="/images/accumulo-logo.png"/>
+  </div>
+-->
+
+  <div id="content">
+
+    <h1 class="title">Apache Accumulo 1.5.2 Release Notes</h1>
+
+    <p>Apache Accumulo 1.5.2 is a maintenance release on the 1.5 version branch.
+This release contains changes from over 100 issues, comprised of bug fixes
+(client side and server side), new test cases, and updated Hadoop support
+contributed by over 30 different contributors and committers.
+As this is a maintenance release, Apache Accumulo 1.5.2 has no client API 
+incompatibilities over Apache Accumulo 1.5.0 and 1.5.1 and requires no manual upgrade 
+process. Users of 1.5.0 or 1.5.1 are strongly encouraged to update as soon as possible 
+to benefit from the improvements.</p>
+<p>Users who are new to Accumulo are encouraged to use a 1.6 release as opposed
+to the 1.5 line as development has already shifted towards the 1.6 line. For those
+who cannot or do not want to upgrade to 1.6, 1.5.2 is still an excellent choice
+over earlier versions in the 1.5 line.</p>
+<h2 id="performance-improvements">Performance Improvements</h2>
+<p>Apache Accumulo 1.5.2 includes a number of performance-related fixes over previous versions.</p>
+<h3 id="write-ahead-log-sync-performance">Write-Ahead Log sync performance</h3>
+<p>The Write-Ahead Log (WAL) files are used to ensure durability of updates made to Accumulo.
+A sync is called on the file in HDFS to make sure that the changes to the WAL are persisted
+to disk, which allows Accumulo to recover in the case of failure. <a href="https://issues.apache.org/jira/browse/ACCUMULO-2766">ACCUMULO-2766</a> fixed
+an issue where an operation against a WAL would unnecessarily wait for multiple syncs, slowing
+down the ingest on the system.</p>
+<h3 id="minor-compactions-not-aggressive-enough">Minor-Compactions not aggressive enough</h3>
+<p>On a system with ample memory provided to Accumulo, long hold-times were observed which
+blocks the ingest of new updates. Trying to free more server-side memory by running minor
+compactions more frequently increased the overall throughput on the node. These changes
+were made in <a href="https://issues.apache.org/jira/browse/ACCUMULO-2905">ACCUMULO-2905</a>.</p>
+<h3 id="heapiterator-optimization">HeapIterator optimization</h3>
+<p>Iterators, a notable feature of Accumulo, are provided to users as a server-side programming
+construct, but are also used internally for numerous server operations. One of these system iterator 
+is the HeapIterator which implements a PriorityQueue of other Iterators. One way this iterator is
+used is to merge multiple files in HDFS to present a single, sorted stream of Key-Value pairs. <a href="https://issues.apache.org/jira/browse/ACCUMULO-2827">ACCUMULO-2827</a>
+introduces a performance optimization to the HeapIterator which can improve the speed of the
+HeapIterator in common cases.</p>
+<h3 id="write-ahead-log-sync-implementation">Write-Ahead log sync implementation</h3>
+<p>In Hadoop-2, two implementations of sync are provided: hflush and hsync. Both of these
+methods provide a way to request that the datanodes write the data to the underlying
+medium and not just hold it in memory (the <em>fsync</em> syscall). While both of these methods
+inform the Datanodes to sync the relevant block(s), <em>hflush</em> does not wait for acknowledgement
+from the Datanodes that the sync finished, where <em>hsync</em> does. To provide the most reliable system
+"out of the box", Accumulo defaults to <em>hsync</em> so that your data is as secure as possible in 
+a variety of situations (notably, unexpected power outages).</p>
+<p>The downside is that performance tends to suffer because waiting for a sync to disk is a very
+expensive operation. <a href="https://issues.apache.org/jira/browse/ACCUMULO-2842">ACCUMULO-2842</a> introduces a new system property, tserver.wal.sync.method,
+that lets users to change the HDFS sync implementation from <em>hsync</em> to <em>hflush</em>. Using <em>hflush</em> instead
+of <em>hsync</em> may result in about a 30% increase in ingest performance.</p>
+<p>For users upgrading from Hadoop-1 or Hadoop-0.20 releases, <em>hflush</em> is the equivalent of how
+sync was implemented in these older versions of Hadoop and should give comparable performance.</p>
+<h3 id="server-side-mutation-queue-size">Server-side mutation queue size</h3>
+<p>When users desire writes to be as durable as possible, using <em>hsync</em>, the ingest performance
+of the system can be improved by increasing the tserver.mutation.queue.max property. The cost
+of this change is that it will cause TabletServers to use additional memory per writer. In 1.5.1,
+the value of this parameter defaulted to a conservative 256K, which resulted in sub-par ingest
+performance.</p>
+<p>1.5.2 and <a href="https://issues.apache.org/jira/browse/ACCUMULO-3018">ACCUMULO-3018</a> increases this buffer to 1M which has a noticeable positive impact on
+ingest performance with a minimal increase in TabletServer memory usage.</p>
+<h2 id="notable-bug-fixes">Notable Bug Fixes</h2>
+<h3 id="fixes-mapreduce-package-name-change">Fixes MapReduce package name change</h3>
+<p>1.5.1 inadvertently included a change to RangeInputSplit which created an incompatibility
+with 1.5.0. The original class has been restored to ensure that users accessing
+the RangeInputSplit class do not have to alter their client code. See <a href="https://issues.apache.org/jira/browse/ACCUMULO-2586">ACCUMULO-2586</a> for
+more information</p>
+<h3 id="add-configurable-maximum-frame-size-to-thrift-proxy">Add configurable maximum frame size to Thrift proxy</h3>
+<p>The Thrift proxy server was subject to memory exhaustion, typically
+due to bad input, where the server would attempt to allocate a very large
+buffer and die in the process. <a href="https://issues.apache.org/jira/browse/ACCUMULO-2658">ACCUMULO-2658</a> introduces a configuration
+parameter, like <a href="https://issues.apache.org/jira/browse/ACCUMULO-2360">ACCUMULO-2360</a>, to prevent this error.</p>
+<h3 id="offline-tables-can-prevent-tablet-balancing">Offline tables can prevent tablet balancing</h3>
+<p>Before 1.5.2, when a table with many tablets was created, ingested into, and
+taken offline, tablet balancing may have stoppped. This would happen if there
+were tablet migrations for the table, because the migrations couldn't occur.
+The balancer will not run when there are outstanding migrations; therefore, a
+system could become unbalanced. <a href="https://issues.apache.org/jira/browse/ACCUMULO-2694">ACCUMULO-2694</a> introduces a fix to ensure
+that offline tables do not block balancing and improves the server-side
+logging.</p>
+<h3 id="miniaccumulocluster-process-management">MiniAccumuloCluster process management</h3>
+<p>MiniAccumuloCluster had a few issues which could cause deadlock or a method that
+never returns. Most of these are related to management of the Accumulo processes
+(<a href="https://issues.apache.org/jira/browse/ACCUMULO-2764">ACCUMULO-2764</a>, <a href="https://issues.apache.org/jira/browse/ACCUMULO-2985">ACCUMULO-2985</a>, and <a href="https://issues.apache.org/jira/browse/ACCUMULO-3055">ACCUMULO-3055</a>).</p>
+<h3 id="iteratorsettings-not-correctly-serialized-in-rangeinputsplit">IteratorSettings not correctly serialized in RangeInputSplit</h3>
+<p>The Writable interface methods on the RangeInputSplit class accidentally omitted
+calls to serialize the IteratorSettings configured for the Job. <a href="https://issues.apache.org/jira/browse/ACCUMULO-2962">ACCUMULO-2962</a>
+fixes the serialization and adds some additional tests.</p>
+<h3 id="constraint-violation-causes-hung-scans">Constraint violation causes hung scans</h3>
+<p>A failed bulk import transaction had the ability to create an infinitely retrying
+loop due to a constraint violation. This directly prevents scans from completing,
+but will also hang compactions. <a href="https://issues.apache.org/jira/browse/ACCUMULO-3096">ACCUMULO-3096</a> fixes the issue so that the
+constraint no longer hangs the entire system.</p>
+<h2 id="documentation">Documentation</h2>
+<p>The following documentation updates were made: </p>
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/ACCUMULO-2540">ACCUMULO-2540</a></li>
+<li><a href="https://issues.apache.org/jira/browse/ACCUMULO-2767">ACCUMULO-2767</a></li>
+<li><a href="https://issues.apache.org/jira/browse/ACCUMULO-2796">ACCUMULO-2796</a></li>
+<li><a href="https://issues.apache.org/jira/browse/ACCUMULO-2443">ACCUMULO-2443</a></li>
+<li><a href="https://issues.apache.org/jira/browse/ACCUMULO-3008">ACCUMULO-3008</a></li>
+<li><a href="https://issues.apache.org/jira/browse/ACCUMULO-2919">ACCUMULO-2919</a></li>
+<li><a href="https://issues.apache.org/jira/browse/ACCUMULO-2874">ACCUMULO-2874</a></li>
+<li><a href="https://issues.apache.org/jira/browse/ACCUMULO-2653">ACCUMULO-2653</a></li>
+<li><a href="https://issues.apache.org/jira/browse/ACCUMULO-2437">ACCUMULO-2437</a></li>
+<li><a href="https://issues.apache.org/jira/browse/ACCUMULO-3097">ACCUMULO-3097</a></li>
+<li><a href="https://issues.apache.org/jira/browse/ACCUMULO-2499">ACCUMULO-2499</a></li>
+<li><a href="https://issues.apache.org/jira/browse/ACCUMULO-1669">ACCUMULO-1669</a></li>
+</ul>
+<h2 id="testing">Testing</h2>
+<p>Each unit and functional test only runs on a single node, while the RandomWalk and Continuous Ingest tests run 
+on any number of nodes. <em>Agitation</em> refers to randomly restarting Accumulo processes and Hadoop Datanode processes,
+and, in HDFS High-Availability instances, forcing NameNode failover.
+<table id="release_notes_testing">
+  <tr>
+    <th>OS</th>
+    <th>Hadoop</th>
+    <th>Nodes</th>
+    <th>ZooKeeper</th>
+    <th>HDFS High-Availability</th>
+    <th>Tests</th>
+  </tr>
+  <tr>
+    <td>Gentoo</tdt>
+    <td>Apache 2.6.0-SNAPSHOT</td>
+    <td>1</td>
+    <td>Apache 3.4.5</td>
+    <td>No</td>
+    <td>Unit and Functional Tests, ContinuousIngest w/ verification (1B entries)</td>
+  </tr>
+  <tr>
+    <td>CentOS 6</td>
+    <td>Apache 2.3.0</td>
+    <td>20</td>
+    <td>Apache 3.4.5</td>
+    <td>No</td>
+    <td>24/hr RandomWalk, 24/hr ContinuousIngest w/ verification w/ and w/o agitation (30B and 23B entries)</td>
+  </tr>
+</table></p>
+  </div>
+
+  <div id="footer">
+    <a alt="Apache Software Foundation" href="http://www.apache.org">
+      <img id="asf-logo" alt="Apache Software Foundation" src="/images/feather-small.gif" width="100">
+    </a>
+    <div class="copyright">
+      <p>
+        Copyright &copy; 2011-2014 The Apache Software Foundation, Licensed under
+        the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+        Apache Accumulo, Accumulo, Apache, the Apache feather logo, and the Apache Accumulo
+        project logo are trademarks of the <a href="http://www.apache.org">Apache Software Foundation</a>.<br />
+        Site created with <a href="http://getbootstrap.com/">Bootstrap</a> including icons from <a href="http://glyphicons.com/">GLYPHICONS</a> and <a href="http://fontawesome.io/">Font Awesome</a>.
+      </p>
+    </div> 
+  </div>
+  </div>
+
+</div>
+</div>
+
+<script type="text/javascript">
+
+</script>
+</body>
+</html>