Author: buildbot Date: Mon Feb 16 20:05:56 2015 New Revision: 940389 Log: Staging update by buildbot for accumulo
Modified: websites/staging/accumulo/trunk/content/ (props changed) websites/staging/accumulo/trunk/content/release_notes/1.6.2.html Propchange: websites/staging/accumulo/trunk/content/ ------------------------------------------------------------------------------ --- cms:source-revision (original) +++ cms:source-revision Mon Feb 16 20:05:56 2015 @@ -1 +1 @@ -1660190 +1660193 Modified: websites/staging/accumulo/trunk/content/release_notes/1.6.2.html ============================================================================== --- websites/staging/accumulo/trunk/content/release_notes/1.6.2.html (original) +++ websites/staging/accumulo/trunk/content/release_notes/1.6.2.html Mon Feb 16 20:05:56 2015 @@ -194,113 +194,27 @@ Latest 1.5 release: <strong>1.5.2</stron <h1 class="title">Apache Accumulo 1.6.1 Release Notes</h1> - <p>Apache Accumulo 1.6.1 is a maintenance release on the 1.6 version branch. -This release contains changes from over 175 issues, comprised of bug-fixes, performance -improvements and better test cases. As this is a maintenance release, Apache Accumulo -1.6.1 has no client API incompatibilities over Apache Accumulo 1.6.0. Users of 1.6.0 -are strongly encouraged to update as soon as possible to benefit from the improvements.</p> -<p>New users are encouraged to use this release over 1.6.0 or any other older releases. For -information about improvements since Accumulo 1.5, see the <a href="/release_notes/1.6.0.html">1.6.0 release notes</a>.</p> + <p>Apache Accumulo 1.6.2 is a maintenance release on the 1.6 version branch. +This release contains changes from over 150 issues, comprised of bug-fixes, performance +improvements and better test cases. Apache Accumulo 1.6.2 is the first release since the +community has adopted <a href="http://semver.org">Semantic Versioning</a> which means that all changes to the <a href="https://github.com/apache/accumulo#api">public API</a> +are guaranteed to be made without adding to or removing from the public API. This ensures +that client code that runs against 1.6.1 is guaranteed to run against 1.6.2 and vice versa.</p> +<p>Users of 1.6.0 or 1.6.1 are strongly encouraged to update as soon as possible to benefit from +the improvements with very little concern in change of underlying functionality. For +information about improvements since Accumulo 1.5, see the <a href="http://accumulo.apache.org/release_notes/1.6.0.html">1.6.0</a> and <a href="http://accumulo.apache.org/release_notes/1.6.1.html">1.6.1</a> release notes.</p> <h2 id="performance-improvements">Performance Improvements</h2> <p>Apache Accumulo 1.6.1 includes a number of performance-related fixes over previous versions. Many of these improvements were also included in the recently released Apache Accumulo 1.5.2.</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="improvement-1">Improvement 1</h3> +<h3 id="improvement-2">Improvement 2</h3> <h2 id="other-improvements">Other improvements</h2> -<h3 id="use-of-hadoop-credentialproviders">Use of Hadoop CredentialProviders</h3> -<p>Apache Hadoop 2.6.0 introduced a new API aimed at providing ways to separate sensitive values -from being stored in plaintext as a part of <a href="https://issues.apache.org/jira/browse/HADOOP-10607">HADOOP-10607</a>. Accumulo has had two sensitive -configuration properties stored in <em>accumulo-site.xml</em> for every standard installation: instance.secret -and trace.token.property.password. If either of these properties are compromised, it could lead to -unwanted access of Accumulo. <a href="https://issues.apache.org/jira/browse/ACCUMULO-2464">ACCUMULO-2464</a> modifies Accumulo so that it can stored any sensitive -configuration properties in a Hadoop CredentialProvider. With sensitive values removed from accumulo-site.xml, -it can be shared without concern and security can be focused solely on the CredentialProvider.</p> +<h3 id="improvement-1_1">Improvement 1</h3> <h2 id="notable-bug-fixes">Notable Bug Fixes</h2> -<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.6.1, 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> -<h3 id="unable-to-upgrade-cleanly-from-15">Unable to upgrade cleanly from 1.5</h3> -<p>When upgrading a table from 1.5.1 to 1.6.0, a user experienced an error where the table -never came online. <a href="https://issues.apache.org/jira/browse/ACCUMULO-2974">ACCUMULO-2974</a> fixes an issue from the change of file references -stored as absolute paths instead of relative paths in the Accumulo metadata table.</p> -<h3 id="guava-dependency-changed">Guava dependency changed</h3> -<p><a href="https://issues.apache.org/jira/browse/ACCUMULO-3100">ACCUMULO-3100</a> lowered the dependency on Guava from 15.0 to 14.0.1. This dependency -now matches what Hadoop is depending on for the 2.x.y version line. Depending on a newer -version of Guava introduces many issues stemming from deprecated classes in use by Hadoop -which have been removed. While installations of Accumulo will likely work as expected with -newer versions of Guava on the classpath (because the Hadoop processes will have their own -classpath), use of MiniDfsClusters with the new Guava version will result in errors.</p> -<p>Users can attempt to use a newer version of Guava on the Accumulo server classpath; however, -the success is dependent on Hadoop client libraries not using (missing) Guava methods internally.</p> -<h3 id="scanners-eat-interruptedexception">Scanners eat InterruptedException</h3> -<p>Scanners previously consumed InterruptedExceptions and did not exit after. In multi-threaded -environments, this is very problematic as there is no means to stop the Scanner from reading data. -<a href="https://issues.apache.org/jira/browse/ACCUMULO-3030">ACCUMULO-3030</a> fixes the Scanner so that interrupts are observed and the Scanner exits as expected.</p> +<h3 id="bug-fix-1">Bug fix 1</h3> +<h3 id="bug-fix-2">Bug fix 2</h3> <h2 id="documentation">Documentation</h2> <p>The following documentation updates were made: </p> -<ul> -<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-2919">ACCUMULO-2919</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-2874">ACCUMULO-2874</a></li> -<li><a href="https://issues.apache.org/jira/browse/ACCUMULO-2821">ACCUMULO-2821</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-3097">ACCUMULO-3097</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, @@ -316,19 +230,19 @@ and, in HDFS High-Availability instances </tr> <tr> <td>Gentoo</tdt> - <td>Apache 2.6.0-SNAPSHOT</td> - <td>2</td> - <td>Apache 3.4.5</td> + <td>N/A</td> + <td>1</td> + <td>N/A</td> <td>No</td> - <td>Unit and Functional Tests, ContinuousIngest w/ verification (2B entries)</td> + <td>Unit and Integration Tests</td> </tr> <tr> <td>CentOS 6</td> - <td>Apache 2.3.0</td> + <td>Keith TBD</td> <td>20</td> - <td>Apache 3.4.5</td> + <td>Keith TBD</td> <td>No</td> - <td>24/hr RandomWalk, ContinuousIngest w/ verification w/ and w/o agitation (17B entries), 24hr Randomwalk test</td> + <td>(Keith Verify this) ContinuousIngest w/ verification w/ and w/o agitation (31B and 21B entries, respectively)</td> </tr> </table></p> </div>