http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/c0655661/release_notes/1.6.5.html ---------------------------------------------------------------------- diff --git a/release_notes/1.6.5.html b/release_notes/1.6.5.html index 32d2b20..1ba4d7f 100644 --- a/release_notes/1.6.5.html +++ b/release_notes/1.6.5.html @@ -1,324 +1,10 @@ <!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. ---> +<html lang="en-US"> <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>Apache Accumulo 1.6.5 Release Notes</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 & 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 & 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">Apache Accumulo 1.6.5 Release Notes</h1> - - <p>Apache Accumulo 1.6.5 is a maintenance release on the 1.6 version branch. This -release contains changes from 55 issues, comprised of bug-fixes, performance -improvements, build quality improvements, and more. See <a href="https://issues.apache.org/jira/browse/ACCUMULO/fixforversion/12333674">JIRA</a> for a -complete list.</p> - -<p>Users of any previous 1.6.x release are strongly encouraged to update as soon as -possible to benefit from the improvements with very little concern in change of -underlying functionality. Users of 1.4 or 1.5 that are seeking to upgrade to 1.6 -should consider 1.6.5 as a starting point.</p> - -<h2 id="outstanding-known-issues">Outstanding Known Issues</h2> - -<p>Be aware that a small documentation bug exists with the compact command in the -shell (<a href="https://issues.apache.org/jira/browse/ACCUMULO-4138">ACCUMULO-4138</a>). The documentation for the begin row and -end row should be described as exclusive and inclusive, respectively, rather -than the incorrect description of both being inclusive.</p> - -<h2 id="highlights">Highlights</h2> - -<h3 id="queued-compactions-not-running">Queued Compactions Not Running</h3> - -<p>Found and fixed a bug (<a href="https://issues.apache.org/jira/browse/ACCUMULO-4016">ACCUMULO-4016</a>) in which some queued -compactions would never run if the number of files changed while the tablet was -queued.</p> - -<h3 id="faster-processing-of-conditional-mutations">Faster Processing of Conditional Mutations</h3> - -<p>Improved ConditionalMutation processing time by a factor of 3. -(<a href="https://issues.apache.org/jira/browse/ACCUMULO-4066">ACCUMULO-4066</a>)</p> - -<h3 id="slow-gc-while-bulk-importing">Slow GC While Bulk Importing</h3> - -<p>Found and worked around an issue where lots of bulk imports creating many new -files would significantly impair the Accumulo GC service, and possibly prevent -it from running to completion entirely. (<a href="https://issues.apache.org/jira/browse/ACCUMULO-4021">ACCUMULO-4021</a>)</p> - -<h3 id="improvements-in-locating-client-configuration-file">Improvements in Locating Client Configuration File</h3> - -<p>Fixed some unexpected error messages related to setting -ACCUMULO_CLIENT_CONF_PATH, and improved the detection of the client.conf file if -ACCUMULO_CLIENT_CONF_PATH was set to a directory containing client.conf. -(<a href="https://issues.apache.org/jira/browse/ACCUMULO-4026">ACCUMULO-4026</a>,<a href="https://issues.apache.org/jira/browse/ACCUMULO-4027">ACCUMULO-4027</a>)</p> - -<h3 id="transient-zookeeper-disconnect-causes-fate-threads-to-exit">Transient ZooKeeper disconnect causes FATE threads to exit</h3> - -<p>ZooKeeper clients are expected to handle the situation where they become -disconnected from the ZooKeeper server and must wait to be reconnected -before continuing ZooKeeper operations.</p> - -<p>The dedicated threads running inside the Accumulo Master process for FATE -actions had the potential unexpectedly exit in this disconnected state. -This caused a scenario where all future FATE-based operations would -be blocked until the Accumulo Master process was restarted. (<a href="https://issues.apache.org/jira/browse/ACCUMULO-4060">ACCUMULO-4060</a>)</p> - -<h3 id="incorrect-management-of-certain-apache-thrift-rpcs">Incorrect management of certain Apache Thrift RPCs</h3> - -<p>Accumulo relies on Apache Thrift to implement remote procedure calls between -Accumulo services. Accumuloâs use of Thrift uncovered an unfortunate situation -where a special RPC (a âonewayâ call) would leave unwanted data on the underlying -Thrift connection. After this extra data was left on connection, all subsequent RPCs -re-using that connection would fail with âout of sequence responseâ error messages. -Accumulo would be left in a bad state until the mishandled connections were released -or Accumulo services were restarted. (<a href="https://issues.apache.org/jira/browse/ACCUMULO-4065">ACCUMULO-4065</a>)</p> - -<h2 id="other-notable-changes">Other Notable Changes</h2> - -<ul> - <li><a href="https://issues.apache.org/jira/browse/ACCUMULO-3509">ACCUMULO-3509</a> Fixed some lock contention in TabletServer, preventing resource cleanup</li> - <li><a href="https://issues.apache.org/jira/browse/ACCUMULO-3734">ACCUMULO-3734</a> Fixed quote-escaping bug in VisibilityConstraint</li> - <li><a href="https://issues.apache.org/jira/browse/ACCUMULO-4025">ACCUMULO-4025</a> Fixed cleanup of bulk load fate transactions</li> - <li><a href="https://issues.apache.org/jira/browse/ACCUMULO-4070">ACCUMULO-4070</a> Fixed Kerberos ticket renewal for all Accumulo services</li> - <li><a href="https://issues.apache.org/jira/browse/ACCUMULO-4098">ACCUMULO-4098</a>,<a href="https://issues.apache.org/jira/browse/ACCUMULO-4113">ACCUMULO-4113</a> Fixed widespread misuse of ByteBuffer</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.</p> - -<table id="release_notes_testing" class="table"> - <thead> - <tr> - <th>OS</th> - <th>Hadoop</th> - <th>Nodes</th> - <th>ZooKeeper</th> - <th>HDFS HA</th> - <th>Tests</th> - </tr> - </thead> - <tbody> - <tr> - <td>CentOS 7.1</td> - <td>2.6.3</td> - <td>9</td> - <td>3.4.6</td> - <td>No</td> - <td>Random walk (All.xml) 18-hour run (2 failures, both conflicting operations on same table in Concurrent test)</td> - </tr> - <tr> - <td>CentOS 7.1</td> - <td>2.6.3</td> - <td>6</td> - <td>3.4.6</td> - <td>No</td> - <td>Continuous ingest with agitation (2B entries)</td> - </tr> - <tr> - <td>CentOS 6.7</td> - <td>2.2.0 and 1.2.1</td> - <td>1</td> - <td>3.3.6</td> - <td>No</td> - <td>All unit and integration tests</td> - </tr> - <tr> - <td>CentOS 7.1 (Oracle JDK8)</td> - <td>2.6.3</td> - <td>9</td> - <td>3.4.6</td> - <td>No</td> - <td>Continuous ingest with agitation (24hrs, 32B entries verified) on EC2 (1 m3.xlarge leader; 8 d2.xlarge workers)</td> - </tr> - </tbody> -</table> - - - </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> +<title>Redirectingâ¦</title> +<link rel="canonical" href="https://accumulo.apache.org/release/accumulo-1.6.5/"> +<meta http-equiv="refresh" content="0; url=https://accumulo.apache.org/release/accumulo-1.6.5/"> +<h1>Redirectingâ¦</h1> +<a href="https://accumulo.apache.org/release/accumulo-1.6.5/">Click here if you are not redirected.</a> +<script>location="https://accumulo.apache.org/release/accumulo-1.6.5/"</script> </html>
http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/c0655661/release_notes/1.6.6.html ---------------------------------------------------------------------- diff --git a/release_notes/1.6.6.html b/release_notes/1.6.6.html index a30e41a..d1a7723 100644 --- a/release_notes/1.6.6.html +++ b/release_notes/1.6.6.html @@ -1,331 +1,10 @@ <!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. ---> +<html lang="en-US"> <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>Apache Accumulo 1.6.6 Release Notes</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 & 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 & 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">Apache Accumulo 1.6.6 Release Notes</h1> - - <p>Apache Accumulo 1.6.6 is a maintenance release on the 1.6 version branch. This -release contains changes from more than 40 issues, comprised of bug-fixes, -performance improvements, build quality improvements, and more. See -<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12312121&version=12334846">JIRA</a> for a complete list.</p> - -<p>Users of any previous 1.6.x release are strongly encouraged to update as soon -as possible to benefit from the improvements with very little concern in change -of underlying functionality.</p> - -<p>As of this release, active development has ceased for the 1.6 release line, so -users should consider upgrading to a newer, actively maintained version when -they can. While the developers may release another 1.6 version to address a -severe issue, thereâs a strong possibility that this will be the last 1.6 -release. That would also mean that this will be the last Accumulo version to -support Java 6 and Hadoop 1.</p> - -<h2 id="highlights">Highlights</h2> - -<h3 id="write-ahead-logs-can-be-prematurely-deleted">Write-Ahead Logs can be prematurely deleted</h3> - -<p>There were cases where the Accumulo Garbage Collector may inadvertently delete -a WAL for a tablet server that it has erroneously determined to be down, -causing data loss. This has been corrected. See <a href="https://issues.apache.org/jira/browse/ACCUMULO-4157">ACCUMULO-4157</a> -for additional detail.</p> - -<h3 id="upgrade-to-commons-vfs-21">Upgrade to Commons-VFS 2.1</h3> - -<p>Upgrading to Apache Commons VFS 2.1 fixes several issues with classloading out -of HDFS. For further detail see <a href="https://issues.apache.org/jira/browse/ACCUMULO-4146">ACCUMULO-4146</a>. Additional -fixes to a potential HDFS class loading deadlock situation were made in -<a href="https://issues.apache.org/jira/browse/ACCUMULO-4341">ACCUMULO-4341</a>.</p> - -<h3 id="native-map-failed-to-increment-mutation-count-properly">Native Map failed to increment mutation count properly</h3> - -<p>There was a bug (<a href="https://issues.apache.org/jira/browse/ACCUMULO-4148">ACCUMULO-4148</a>) where multiple put calls with -identical keys and no timestamp would exhibit different behaviour depending on -whether native maps were enabled or not. This behaviour would result in hidden -mutations with native maps, and has been corrected.</p> - -<h3 id="open-wal-files-could-prevent-datanode-decomission">Open WAL files could prevent DataNode decomission</h3> - -<p>An improvement was introduced to allow a max age before WAL files would be -automatically rolled. Without a max age, they could stay open for writing -indefinitely, blocking the Hadoop DataNode decomissioning process. For more -information, see <a href="https://issues.apache.org/jira/browse/ACCUMULO-4004">ACCUMULO-4004</a>.</p> - -<h3 id="remove-unnecessary-copy-of-cached-rfile-index-blocks">Remove unnecessary copy of cached RFile index blocks</h3> - -<p>Accumulo maintains an cache for file blocks in-memory as a performance -optimization. This can be done safely because Accumulo RFiles are immutable, -thus their blocks are also immutable. There are two types of these blocks: -index and data blocks. Index blocks refer to the b-tree style index inside of -each Accumulo RFile, while data blocks contain the sorted Key-Value pairs. In -previous versions, when Accumulo extracted an Index block from the in-memory -cache, it would copy the data. <a href="https://issues.apache.org/jira/browse/ACCUMULO-4164">ACCUMULO-4164</a> removes this -unnecessary copy as the contents are immutable and can be passed by reference. -Ensuring that the Index blocks are not copied when accessed from the cache is a -big performance gain at the file-access level.</p> - -<h3 id="analyze-key-length-to-avoid-choosing-large-keys-for-rfile-index-blocks">Analyze Key-length to avoid choosing large Keys for RFile Index blocks</h3> - -<p>Accumuloâs RFile index blocks are made up of a Key which exists in the file and -points to that specific location in the corresponding RFile data block. Thus, -the size of the RFile index blocks is largely dominated by the size of the Keys -which are used by the index. <a href="https://issues.apache.org/jira/browse/ACCUMULO-4314">ACCUMULO-4314</a> is an improvement -which uses statistics on the length of the Keys in the Rfile to avoid choosing -Keys for the index whose length is greater than three standard deviations for -the RFile. By choosing smaller Keys for the index, Accumulo can access the -RFile index faster and keep more Index blocks cached in memory. Initial tests -showed that with this change, the RFile index size was nearly cut in half.</p> - -<h3 id="gson-version-bump">Gson version bump</h3> - -<p>Due to an <a href="https://github.com/google/gson/issues/362">upstream bug with Gson 2.2.2</a>, weâve bumped our bundled -dependency (<a href="https://issues.apache.org/jira/browse/ACCUMULO-4345">ACCUMULO-4345</a>) to version 2.2.4. Please take note -of this when you upgrade, if you were using the version shipped with Accumulo, -and were relying on the buggy behavior in the previous version in your own -code.</p> - -<h3 id="minor-performance-improvements">Minor performance improvements.</h3> - -<p>A performance issue was identified and corrected -(<a href="https://issues.apache.org/jira/browse/ACCUMULO-1755">ACCUMULO-1755</a>) where the BatchWriter would block calls to -addMutation while looking up destination tablet server metadata. The writer has -been fixed to allow both operations in parallel.</p> - -<h2 id="other-notable-changes">Other Notable Changes</h2> - -<ul> - <li><a href="https://issues.apache.org/jira/browse/ACCUMULO-4155">ACCUMULO-4155</a> No longer publish javadoc for non-public API -to website. (Still available in javadoc jars in maven)</li> - <li><a href="https://issues.apache.org/jira/browse/ACCUMULO-4334">ACCUMULO-4334</a> Ingest rates reported through JMX did not -match rates reported by Monitor.</li> - <li><a href="https://issues.apache.org/jira/browse/ACCUMULO-4335">ACCUMULO-4335</a> Error conditions that result in a Halt should -ensure non-zero process exit code.</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.</p> - -<table id="release_notes_testing" class="table"> - <thead> - <tr> - <th>OS/Environment</th> - <th>Hadoop</th> - <th>Nodes</th> - <th>ZooKeeper</th> - <th>HDFS HA</th> - <th>Tests</th> - </tr> - </thead> - <tbody> - <tr> - <td>CentOS 7</td> - <td>1.2.1</td> - <td>1</td> - <td>3.3.6</td> - <td>No</td> - <td>Unit tests and Integration Tests</td> - </tr> - <tr> - <td>CentOS 7</td> - <td>2.2.0</td> - <td>1</td> - <td>3.3.6</td> - <td>No</td> - <td>Unit tests and Integration Tests</td> - </tr> - </tbody> -</table> - - - </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> +<title>Redirectingâ¦</title> +<link rel="canonical" href="https://accumulo.apache.org/release/accumulo-1.6.6/"> +<meta http-equiv="refresh" content="0; url=https://accumulo.apache.org/release/accumulo-1.6.6/"> +<h1>Redirectingâ¦</h1> +<a href="https://accumulo.apache.org/release/accumulo-1.6.6/">Click here if you are not redirected.</a> +<script>location="https://accumulo.apache.org/release/accumulo-1.6.6/"</script> </html> http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/c0655661/release_notes/1.7.0.html ---------------------------------------------------------------------- diff --git a/release_notes/1.7.0.html b/release_notes/1.7.0.html index 6515b06..dddbdb0 100644 --- a/release_notes/1.7.0.html +++ b/release_notes/1.7.0.html @@ -1,609 +1,10 @@ <!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. ---> +<html lang="en-US"> <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>Apache Accumulo 1.7.0 Release Notes</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 & 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 & 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">Apache Accumulo 1.7.0 Release Notes</h1> - - <p>Apache Accumulo 1.7.0 is a significant release that includes many important -milestone features which expand the functionality of Accumulo. These include -features related to security, availability, and extensibility. Nearly 700 JIRA -issues were resolved in this version. Approximately two-thirds were bugs and -one-third were improvements.</p> - -<p>In the context of Accumuloâs <a href="http://semver.org">Semantic Versioning</a> <a href="https://github.com/apache/accumulo/blob/1.7.0/README.md#api">guidelines</a>, -this is a âminor versionâ. This means that new APIs have been created, some -deprecations may have been added, but no deprecated APIs have been removed. -Code written against 1.6.x should work against 1.7.0, likely binary-compatible -but definitely source-compatible. As always, the Accumulo developers take API compatibility -very seriously and have invested much time to ensure that we meet the promises set forth to our users.</p> - -<h1 id="major-changes">Major Changes</h1> - -<h2 id="updated-minimum-requirements">Updated Minimum Requirements</h2> - -<p>Apache Accumulo 1.7.0 comes with an updated set of minimum requirements.</p> - -<ul> - <li>Java7 is required. Java6 support is dropped.</li> - <li>Hadoop 2.2.0 or greater is required. Hadoop 1.x support is dropped.</li> - <li>ZooKeeper 3.4.x or greater is required.</li> -</ul> - -<h2 id="client-authentication-with-kerberos">Client Authentication with Kerberos</h2> - -<p>Kerberos is the de-facto means to provide strong authentication across Hadoop -and other related components. Kerberos requires a centralized key distribution -center to authentication users who have credentials provided by an -administrator. When Hadoop is configured for use with Kerberos, all users must -provide Kerberos credentials to interact with the filesystem, launch YARN -jobs, or even view certain web pages.</p> - -<p>While Accumulo has long supported operating on Kerberos-enabled HDFS, it still -required Accumulo users to use password-based authentication to authenticate -with Accumulo. <a href="https://issues.apache.org/jira/browse/ACCUMULO-2815">ACCUMULO-2815</a> added support for allowing -Accumulo clients to use the same Kerberos credentials to authenticate to -Accumulo that they would use to authenticate to other Hadoop components, -instead of a separate user name and password just for Accumulo.</p> - -<p>This authentication leverages <a href="https://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer">Simple Authentication and Security Layer -(SASL)</a> and <a href="https://en.wikipedia.org/wiki/Generic_Security_Services_Application_Program_Interface">GSSAPI</a> to support Kerberos authentication over the -existing Apache Thrift-based RPC infrastructure that Accumulo employs.</p> - -<p>These additions represent a significant forward step for Accumulo, bringing -its client-authentication up to speed with the rest of the Hadoop ecosystem. -This results in a much more cohesive authentication story for Accumulo that -resonates with the battle-tested cell-level security and authorization model -already familiar to Accumulo users.</p> - -<p>More information on configuration, administration, and application of Kerberos -client authentication can be found in the <a href="/1.7/accumulo_user_manual#_kerberos">Kerberos chapter</a> of the -Accumulo User Manual.</p> - -<h2 id="data-center-replication">Data-Center Replication</h2> - -<p>In previous releases, Accumulo only operated within the constraints of a -single installation. Because single instances of Accumulo often consist of -many nodes and Accumuloâs design scales (near) linearly across many nodes, it -is typical that one Accumulo is run per physical installation or data-center. -<a href="https://issues.apache.org/jira/browse/ACCUMULO-378">ACCUMULO-378</a> introduces support in Accumulo to automatically -copy data from one Accumulo instance to another.</p> - -<p>This data-center replication feature is primarily applicable to users wishing -to implement a disaster recovery strategy. Data can be automatically copied -from a primary instance to one or more other Accumulo instances. In contrast -to normal Accumulo operation, in which ingest and query are strongly -consistent, data-center replication is a lazy, eventually consistent -operation. This is desirable for replication, as it prevents additional -latency for ingest operations on the primary instance. Additionally, the -implementation of this feature can sustain prolonged outages between the -primary instance and replicas without any administrative overhead.</p> - -<p>The Accumulo User Manual contains a <a href="/1.7/accumulo_user_manual#_replication">new chapter on replication</a> -which details the design and implementation of the feature, explains how users -can configure replication, and describes special cases to consider when -choosing to integrate the feature into a user application.</p> - -<h2 id="user-initiated-compaction-strategies">User-Initiated Compaction Strategies</h2> - -<p>Per-table compaction strategies were added in 1.6.0 to provide custom logic to -decide which files are involved in a major compaction. In 1.7.0, the ability -to specify a compaction strategy for a user-initiated compaction was added in -<a href="https://issues.apache.org/jira/browse/ACCUMULO-1798">ACCUMULO-1798</a>. This allows surgical compactions on a subset -of tablet files. Previously, a user-initiated compaction would compact all -files in a tablet.</p> - -<p>In the Java API, this new feature can be accessed in the following way:</p> - -<div class="highlighter-rouge"><pre class="highlight"><code>Connection conn = ... -CompactionStrategyConfig csConfig = new CompactionStrategyConfig(strategyClassName).setOptions(strategyOpts); -CompactionConfig compactionConfig = new CompactionConfig().setCompactionStrategy(csConfig); -connector.tableOperations().compact(tableName, compactionConfig) -</code></pre> -</div> - -<p>In <a href="https://issues.apache.org/jira/browse/ACCUMULO-3134">ACCUMULO-3134</a>, the shellâs <code class="highlighter-rouge">compact</code> command was modified -to enable selecting which files to compact based on size, name, and path. -Options were also added to the shellâs compaction command to allow setting -RFile options for the compaction output. Setting the output options could be -useful for testing. For example, one tablet to be compacted using snappy -compression.</p> - -<p>The following is an example shell command that compacts all files less than -10MB, if the tablet has at least two files that meet this criteria. If a -tablet had a 100MB, 50MB, 7MB, and 5MB file then the 7MB and 5MB files would -be compacted. If a tablet had a 100MB and 5MB file, then nothing would be done -because there are not at least two files meeting the selection criteria.</p> - -<div class="highlighter-rouge"><pre class="highlight"><code>compact -t foo --min-files 2 --sf-lt-esize 10M -</code></pre> -</div> - -<p>The following is an example shell command that compacts all bulk imported -files in a table.</p> - -<div class="highlighter-rouge"><pre class="highlight"><code>compact -t foo --sf-ename I.* -</code></pre> -</div> - -<p>These provided convenience options to select files execute using a specialized -compaction strategy. Options were also added to the shell to specify an -arbitrary compaction strategy. The option to specify an arbitrry compaction -strategy is mutually exclusive with the file selection and file creation -options, since those options are unique to the specialized compaction strategy -provided. See <code class="highlighter-rouge">compact --help</code> in the shell for the available options.</p> - -<h2 id="api-clarification">API Clarification</h2> - -<p>The declared API in 1.6.x was incomplete. Some important classes like -ColumnVisibility were not declared as Accumulo API. Significant work was done -under <a href="https://issues.apache.org/jira/browse/ACCUMULO-3657">ACCUMULO-3657</a> to correct the API statement and clean up -the API to be representative of all classes which users are intended to -interact with. The expanded and simplified API statement is in the -<a href="https://github.com/apache/accumulo/blob/1.7.0/README.md#api">README</a>.</p> - -<p>In some places in the API, non-API types were used. Ideally, public API -members would only use public API types. A tool called <a href="http://code.revelc.net/apilyzer-maven-plugin">APILyzer</a> -was created to find all API members that used non-API types. Many of the -violations found by this tool were deprecated to clearly communicate that a -non-API type was used. One example is a public API method that returned a -class called <code class="highlighter-rouge">KeyExtent</code>. <code class="highlighter-rouge">KeyExtent</code> was never intended to be in the public -API because it contains code related to Accumulo internals. <code class="highlighter-rouge">KeyExtent</code> and -the API methods returning it have since been deprecated. These were replaced -with a new class for identifying tablets that does not expose internals. -Deprecating a type like this from the API makes the API more stable while also -making it easier for contributors to change Accumulo internals without -impacting the API.</p> - -<p>The changes in <a href="https://issues.apache.org/jira/browse/ACCUMULO-3657">ACCUMULO-3657</a> also included an Accumulo API -regular expression for use with checkstyle. Starting with 1.7.0, projects -building on Accumulo can use this checkstyle rule to ensure they are only -using Accumuloâs public API. The regular expression can be found in the -<a href="https://github.com/apache/accumulo/blob/1.7.0/README.md#api">README</a>.</p> - -<h1 id="performance-improvements">Performance Improvements</h1> - -<h2 id="configurable-threadpool-size-for-assignments">Configurable Threadpool Size for Assignments</h2> - -<p>During start-up, the Master quickly assigns tablets to Tablet Servers. However, -Tablet Servers load those assigned tablets one at a time. In 1.7, the servers -will be more aggressive, and will load tablets in parallel, so long as they do -not have mutations that need to be recovered.</p> - -<p><a href="https://issues.apache.org/jira/browse/ACCUMULO-1085">ACCUMULO-1085</a> allows the size of the threadpool used in the Tablet Servers -for assignment processing to be configurable.</p> - -<h2 id="group-commit-threshold-as-a-factor-of-data-size">Group-Commit Threshold as a Factor of Data Size</h2> - -<p>When ingesting data into Accumulo, the majority of time is spent in the -write-ahead log. As such, this is a common place that optimizations are added. -One optimization is known as âgroup-commitâ. When multiple clients are -writing data to the same Accumulo tablet, it is not efficient for each of them -to synchronize the WAL, flush their updates to disk for durability, and then -release the lock. The idea of group-commit is that multiple writers can queue -the write for their mutations to the WAL and then wait for a sync that will -satisfy the durability constraints of their batch of updates. This has a -drastic improvement on performance, since many threads writing batches -concurrently can âshareâ the same <code class="highlighter-rouge">fsync</code>.</p> - -<p>In previous versions, Accumulo controlled the frequency in which this -group-commit sync was performed as a factor of the number of clients writing -to Accumulo. This was both confusing to correctly configure and also -encouraged sub-par performance with few write threads. -<a href="https://issues.apache.org/jira/browse/ACCUMULO-1950">ACCUMULO-1950</a> introduced a new configuration property -<code class="highlighter-rouge">tserver.total.mutation.queue.max</code> which defines the amount of data that is -queued before a group-commit is performed in such a way that is agnostic of -the number of writers. This new configuration property is much easier to -reason about than the previous (now deprecated) <code class="highlighter-rouge">tserver.mutation.queue.max</code>. -Users who have set <code class="highlighter-rouge">tserver.mutation.queue.max</code> in the past are encouraged -to start using the new <code class="highlighter-rouge">tserver.total.mutation.queue.max</code> property.</p> - -<h1 id="other-improvements">Other improvements</h1> - -<h2 id="balancing-groups-of-tablets">Balancing Groups of Tablets</h2> - -<p>By default, Accumulo evenly spreads each tableâs tablets across a cluster. In -some situations, it is advantageous for query or ingest to evenly spreads -groups of tablets within a table. For <a href="https://issues.apache.org/jira/browse/ACCUMULO-3439">ACCUMULO-3439</a>, a new -balancer was added to evenly spread groups of tablets to optimize performance. -This <a href="https://blogs.apache.org/accumulo/entry/balancing_groups_of_tablets">blog post</a> provides more details about when and why -users may desire to leverage this feature..</p> - -<h2 id="user-specified-durability">User-specified Durability</h2> - -<p>Accumulo constantly tries to balance durability with performance. Guaranteeing -durability of every write to Accumulo is very difficult in a -massively-concurrent environment that requires high throughput. One common -area of focus is the write-ahead log, since it must eventually call <code class="highlighter-rouge">fsync</code> on -the local filesystem to guarantee that data written is durable in the face of -unexpected power failures. In some cases where durability can be sacrificed, -either due to the nature of the data itself or redundant power supplies, -ingest performance improvements can be attained.</p> - -<p>Prior to 1.7, a user could only configure the level of durability for -individual tables. With the implementation of <a href="https://issues.apache.org/jira/browse/ACCUMULO-1957">ACCUMULO-1957</a>, -the durability can be specified by the user when creating a <code class="highlighter-rouge">BatchWriter</code>, -giving users control over durability at the level of the individual writes. -Every <code class="highlighter-rouge">Mutation</code> written using that <code class="highlighter-rouge">BatchWriter</code> will be written with the -provided durability. This can result in substantially faster ingest rates when -the durability can be relaxed.</p> - -<h2 id="waitforbalance-api">waitForBalance API</h2> - -<p>When creating a new Accumulo table, the next step is typically adding splits -to that table before starting ingest. This can be extremely important since a -table without any splits will only be hosted on a single tablet server and -create a ingest bottleneck until the table begins to naturally split. Adding -many splits before ingesting will ensure that a table is distributed across -many servers and result in high throughput when ingest first starts.</p> - -<p>Adding splits to a table has long been a synchronous operation, but the -assignment of those splits was asynchronous. A large number of splits could be -processed, but it was not guaranteed that they would be evenly distributed -resulting in the same problem as having an insufficient number of splits. -<a href="https://issues.apache.org/jira/browse/ACCUMULO-2998">ACCUMULO-2998</a> adds a new method to <code class="highlighter-rouge">InstanceOperations</code> which -allows users to wait for all tablets to be balanced. This method lets users -wait until tablets are appropriately distributed so that ingest can be run at -full-bore immediately.</p> - -<h2 id="hadoop-metrics2-support">Hadoop Metrics2 Support</h2> - -<p>Accumulo has long had its own metrics system implemented using Java MBeans. -This enabled metrics to be reported by Accumulo services, but consumption by -other systems often required use of an additional tool like jmxtrans to read -the metrics from the MBeans and send them to some other system.</p> - -<p><a href="https://issues.apache.org/jira/browse/ACCUMULO-1817">ACCUMULO-1817</a> replaces this custom metrics system Accumulo -with Hadoop Metrics2. Metrics2 has a number of benefits, the most common of -which is invalidating the need for an additional process to send metrics to -common metrics storage and visualization tools. With Metrics2 support, -Accumulo can send its metrics to common tools like Ganglia and Graphite.</p> - -<p>For more information on enabling Hadoop Metrics2, see the <a href="/1.7/accumulo_user_manual#_metrics">Metrics -Chapter</a> in the Accumulo User Manual.</p> - -<h2 id="distributed-tracing-with-htrace">Distributed Tracing with HTrace</h2> - -<p>HTrace has recently started gaining traction as a standalone project, -especially with its adoption in HDFS. Accumulo has long had distributed -tracing support via its own âCloudtraceâ library, but this wasnât intended for -use outside of Accumulo.</p> - -<p><a href="https://issues.apache.org/jira/browse/ACCUMULO-898">ACCUMULO-898</a> replaces Accumuloâs Cloudtrace code with HTrace. -This has the benefit of adding timings (spans) from HDFS into Accumulo spans -automatically.</p> - -<p>Users who inspect traces via the Accumulo Monitor (or another system) will begin -to see timings from HDFS during operations like Major and Minor compactions when -running with at least Apache Hadoop 2.6.0.</p> - -<h2 id="versions-file-present-in-binary-distribution">VERSIONS file present in binary distribution</h2> - -<p>In the pre-built binary distribution or distributions built by users from the -official source release, users will now see a <code class="highlighter-rouge">VERSIONS</code> file present in the -<code class="highlighter-rouge">lib/</code> directory alongside the Accumulo server-side jars. Because the created -tarball strips off versions from the jar file names, it can require extra work -to actually find what the version of each dependent jar (typically inspecting -the jarâs manifest).</p> - -<p><a href="https://issues.apache.org/jira/browse/ACCUMULO-2863">ACCUMULO-2863</a> adds a <code class="highlighter-rouge">VERSIONS</code> file to the <code class="highlighter-rouge">lib/</code> directory -which contains the Maven groupId, artifactId, and verison (GAV) information for -each jar file included in the distribution.</p> - -<h2 id="per-table-volume-chooser">Per-Table Volume Chooser</h2> - -<p>The <code class="highlighter-rouge">VolumeChooser</code> interface is a server-side extension point that allows user -tables to provide custom logic in choosing where its files are written when -multiple HDFS instances are available. By default, a randomized volume chooser -implementation is used to evenly balance files across all HDFS instances.</p> - -<p>Previously, this VolumeChooser logic was instance-wide which meant that it would -affect all tables. This is potentially undesirable as it might unintentionally -impact other users in a multi-tenant system. <a href="https://issues.apache.org/jira/browse/ACCUMULO-3177">ACCUMULO-3177</a> -introduces a new per-table property which supports configuration of a -<code class="highlighter-rouge">VolumeChooser</code>. This ensures that the implementation to choose how HDFS -utilization happens when multiple are available is limited to the expected -subset of all tables.</p> - -<h2 id="table-and-namespace-custom-properties">Table and namespace custom properties</h2> - -<p>In order to avoid errors caused by mis-typed configuration properties, Accumulo was strict about which configuration properties -could be set. However, this prevented users from setting arbitrary properties that could be used by custom balancers, compaction -strategies, volume choosers, and iterators. Under <a href="https://issues.apache.org/jira/browse/ACCUMULO-2841">ACCUMULO-2841</a>, the ability to set arbitrary table and -namespace properties was added. The properties need to be prefixed with <code class="highlighter-rouge">table.custom.</code>. The changes made in -<a href="https://issues.apache.org/jira/browse/ACCUMULO-3177">ACCUMULO-3177</a> and <a href="https://issues.apache.org/jira/browse/ACCUMULO-3439">ACCUMULO-3439</a> leverage this new feature.</p> - -<h1 id="notable-bug-fixes">Notable Bug Fixes</h1> - -<h2 id="sourceswitchingiterator-deadlock">SourceSwitchingIterator Deadlock</h2> - -<p>An instance of SourceSwitchingIterator, the Accumulo iterator which -transparently manages whether data for a tablet read from memory (the -in-memory map) or disk (HDFS after a minor compaction), was found deadlocked -in a production system.</p> - -<p>This deadlock prevented the scan and the minor compaction from ever -successfully completing without restarting the tablet server. -<a href="https://issues.apache.org/jira/browse/ACCUMULO-3745">ACCUMULO-3745</a> fixes the inconsistent synchronization inside -of the SourceSwitchingIterator to prevent this deadlock from happening in the -future.</p> - -<p>The only mitigation of this bug was to restart the tablet server that is -deadlocked.</p> - -<h2 id="table-flush-blocked-indefinitely">Table flush blocked indefinitely</h2> - -<p>While running the Accumulo RandomWalk distributed test, it was observed that -all activity in Accumulo had stopped and there was an offline Accumulo -metadata table tablet. The system first tried to flush a user tablet, but the -metadata table was not online (likely due to the agitation process which stops -and starts Accumulo processes during the test). After this call, a call to -load the metadata tablet was queued but could not complete until the previous -flush call. Thus, a deadlock occurred.</p> - -<p>This deadlock happened because the synchronous flush call could not complete -before the load tablet call completed, but the load tablet call couldnât run -because of connection caching we perform in Accumuloâs RPC layer to reduce the -quantity of sockets we need to create to send data. -<a href="https://issues.apache.org/jira/browse/ACCUMULO-3597">ACCUMULO-3597</a> prevents this deadlock by forcing the use of a -non-cached connection for the RPC message requesting a metadata tablet to be -loaded.</p> - -<p>While this feature does result in additional network resources to be used, the -concern is minimal because the number of metadata tablets is typically very -small with respect to the total number of tablets in the system.</p> - -<p>The only mitigation of this bug was to restart the tablet server that is hung.</p> - -<h1 id="testing">Testing</h1> - -<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 fail-over.</p> - -<p>During testing, multiple Accumulo developers noticed some stability issues -with HDFS using Apache Hadoop 2.6.0 when restarting Accumulo processes and -HDFS datanodes. The developers investigated these issues as a part of the -normal release testing procedures, but were unable to find a definitive cause -of these failures. Users are encouraged to follow -<a href="https://issues.apache.org/jira/browse/ACCUMULO-2388">ACCUMULO-2388</a> if they wish to follow any future developments. -One possible workaround is to increase the <code class="highlighter-rouge">general.rpc.timeout</code> in the -Accumulo configuration from <code class="highlighter-rouge">120s</code> to <code class="highlighter-rouge">240s</code>.</p> - -<table id="release_notes_testing" class="table"> - <thead> - <tr> - <th>OS</th> - <th>Hadoop</th> - <th>Nodes</th> - <th>ZooKeeper</th> - <th>HDFS HA</th> - <th>Tests</th> - </tr> - </thead> - <tbody> - <tr> - <td>Gentoo</td> - <td>N/A</td> - <td>1</td> - <td>N/A</td> - <td>No</td> - <td>Unit and Integration Tests</td> - </tr> - <tr> - <td>Gentoo</td> - <td>2.6.0</td> - <td>1 (2 TServers)</td> - <td>3.4.5</td> - <td>No</td> - <td>24hr CI w/ agitation and verification, 24hr RW w/o agitation.</td> - </tr> - <tr> - <td>Centos 6.6</td> - <td>2.6.0</td> - <td>3</td> - <td>3.4.6</td> - <td>No</td> - <td>24hr RW w/ agitation, 24hr CI w/o agitation, 72hr CI w/ and w/o agitation</td> - </tr> - <tr> - <td>Amazon Linux</td> - <td>2.6.0</td> - <td>20 m1large</td> - <td>3.4.6</td> - <td>No</td> - <td>24hr CI w/o agitation</td> - </tr> - </tbody> -</table> - - - </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> +<title>Redirectingâ¦</title> +<link rel="canonical" href="https://accumulo.apache.org/release/accumulo-1.7.0/"> +<meta http-equiv="refresh" content="0; url=https://accumulo.apache.org/release/accumulo-1.7.0/"> +<h1>Redirectingâ¦</h1> +<a href="https://accumulo.apache.org/release/accumulo-1.7.0/">Click here if you are not redirected.</a> +<script>location="https://accumulo.apache.org/release/accumulo-1.7.0/"</script> </html> http://git-wip-us.apache.org/repos/asf/accumulo-website/blob/c0655661/release_notes/1.7.1.html ---------------------------------------------------------------------- diff --git a/release_notes/1.7.1.html b/release_notes/1.7.1.html index 3c81222..61e89e3 100644 --- a/release_notes/1.7.1.html +++ b/release_notes/1.7.1.html @@ -1,359 +1,10 @@ <!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. ---> +<html lang="en-US"> <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>Apache Accumulo 1.7.1 Release Notes</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 & 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 & 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">Apache Accumulo 1.7.1 Release Notes</h1> - - <p>Apache Accumulo 1.7.1 is a maintenance release on the 1.7 version branch. This -release contains changes from more than 150 issues, comprised of bug-fixes, -performance improvements, build quality improvements, and more. See -<a href="https://issues.apache.org/jira/browse/ACCUMULO/fixforversion/12329940">JIRA</a> for a complete list.</p> - -<p>Users of any previous 1.7.x release are strongly encouraged to update as soon -as possible to benefit from the improvements with very little concern in change -of underlying functionality. Users of 1.6 or earlier that are seeking to -upgrade to 1.7 should consider 1.7.1 as a starting point.</p> - -<h2 id="highlights">Highlights</h2> - -<h3 id="silent-data-loss-via-bulk-imported-files">Silent data-loss via bulk imported files</h3> - -<p>A user recently reported that a simple bulk-import application would -occasionally lose some records. Through investigation, it was found that when -bulk imports into a table failed the initial assignment, the logic that -automatically retries the imports was incorrectly choosing the tablets to -import the files into. <a href="https://issues.apache.org/jira/browse/ACCUMULO-3967">ACCUMULO-3967</a> contains more information -on the cause and identification of the bug. The data-loss condition would only -affect entire files. If records from a file exist in Accumulo, it is still -guaranteed that all records within that imported file were successful.</p> - -<p>As such, users who have bulk import applications using previous versions of -Accumulo should verify that all of their data was correctly ingested into -Accumulo and immediately update to Accumulo 1.7.1 (This is the same bug that -was fixed in 1.6.4, so you wonât be affected if youâre running 1.6.4 or newer).</p> - -<h3 id="queued-compactions-not-running">Queued Compactions Not Running</h3> - -<p>Found and fixed a bug (<a href="https://issues.apache.org/jira/browse/ACCUMULO-4016">ACCUMULO-4016</a>) in which some queued -compactions would never run if the number of files changed while the tablet was -queued.</p> - -<h3 id="kerberos-ticket-renewals">Kerberos Ticket Renewals</h3> - -<p>A bug was fixed which caused Accumulo clients and services to fail to check and -(if necessary) renew their Kerberos credentials. This would eventually lead to -these components failing to properly authenticate until they were restarted. -(<a href="https://issues.apache.org/jira/browse/ACCUMULO-4069">ACCUMULO-4069</a>)</p> - -<h3 id="updated-commons-collection">Updated commons-collection</h3> - -<p>The bundled commons-collection library was updated from version 3.2.1 to 3.2.2 -because of a reported vulnerability in that library. -(<a href="https://issues.apache.org/jira/browse/ACCUMULO-4056">ACCUMULO-4056</a>)</p> - -<h3 id="faster-processing-of-conditional-mutations">Faster Processing of Conditional Mutations</h3> - -<p>Improved ConditionalMutation processing time by a factor of 3. -(<a href="https://issues.apache.org/jira/browse/ACCUMULO-4066">ACCUMULO-4066</a>)</p> - -<h3 id="slow-gc-while-bulk-importing">Slow GC While Bulk Importing</h3> - -<p>Found and worked around an issue where lots of bulk imports creating many new -files would significantly impair the Accumulo GC service, and possibly prevent -it from running to completion entirely. (<a href="https://issues.apache.org/jira/browse/ACCUMULO-4021">ACCUMULO-4021</a>)</p> - -<h3 id="unnoticed-per-table-configuration-updates">Unnoticed Per-table Configuration Updates</h3> - -<p>Fixed a bug which caused tablet servers to not notice changes to the per-table -constraints, under some circumstances. (<a href="https://issues.apache.org/jira/browse/ACCUMULO-3859">ACCUMULO-3859</a>)</p> - -<h3 id="tabletservers-kill-themselves-on-centos7">TabletServers kill themselves on CentOS7</h3> - -<p>Reduced the aggressiveness with which Accumulo Tablet Servers preemptively -killed themselves when a local filesystem switched to read-only (indicating a -possible failure). To reduce false positives, such as those which can occur -with systemdâs extra cgroup mounts in CentOS7, an additional check was added to -ensure that tablet servers would only kill themselves if an ext- or -xfs-formatted disk switched to read-only. (<a href="https://issues.apache.org/jira/browse/ACCUMULO-4080">ACCUMULO-4080</a>)</p> - -<h3 id="improvements-in-locating-client-configuration-file">Improvements in Locating Client Configuration File</h3> - -<p>Fixed some unexpected error messages related to setting -ACCUMULO_CLIENT_CONF_PATH, and improved the detection of the client.conf file if -ACCUMULO_CLIENT_CONF_PATH was set to a directory containing client.conf. -(<a href="https://issues.apache.org/jira/browse/ACCUMULO-4026">ACCUMULO-4026</a>,<a href="https://issues.apache.org/jira/browse/ACCUMULO-4027">ACCUMULO-4027</a>)</p> - -<h3 id="transient-zookeeper-disconnect-causes-fate-threads-to-exit">Transient ZooKeeper disconnect causes FATE threads to exit</h3> - -<p>ZooKeeper clients are expected to handle the situation where they become -disconnected from the ZooKeeper server and must wait to be reconnected -before continuing ZooKeeper operations.</p> - -<p>The dedicated threads running inside the Accumulo Master process for FATE -actions had the potential unexpectedly exit in this disconnected state. -This caused a scenario where all future FATE-based operations would -be blocked until the Accumulo Master process was restarted. (<a href="https://issues.apache.org/jira/browse/ACCUMULO-4060">ACCUMULO-4060</a>)</p> - -<h3 id="incorrect-management-of-certain-apache-thrift-rpcs">Incorrect management of certain Apache Thrift RPCs</h3> - -<p>Accumulo relies on Apache Thrift to implement remote procedure calls between -Accumulo services. Accumuloâs use of Thrift uncovered an unfortunate situation -where a special RPC (a âonewayâ call) would leave unwanted data on the underlying -Thrift connection. After this extra data was left on connection, all subsequent RPCs -re-using that connection would fail with âout of sequence responseâ error messages. -Accumulo would be left in a bad state until the mishandled connections were released -or Accumulo services were restarted. (<a href="https://issues.apache.org/jira/browse/ACCUMULO-4065">ACCUMULO-4065</a>)</p> - -<h2 id="other-notable-changes">Other Notable Changes</h2> - -<ul> - <li><a href="https://issues.apache.org/jira/browse/ACCUMULO-3509">ACCUMULO-3509</a> Fixed some lock contention in TabletServer, preventing resource cleanup</li> - <li><a href="https://issues.apache.org/jira/browse/ACCUMULO-3734">ACCUMULO-3734</a> Fixed quote-escaping bug in VisibilityConstraint</li> - <li><a href="https://issues.apache.org/jira/browse/ACCUMULO-4025">ACCUMULO-4025</a> Fixed cleanup of bulk load fate transactions</li> - <li><a href="https://issues.apache.org/jira/browse/ACCUMULO-4098">ACCUMULO-4098</a>,<a href="https://issues.apache.org/jira/browse/ACCUMULO-4113">ACCUMULO-4113</a> Fixed widespread misuse of ByteBuffer</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.</p> - -<table id="release_notes_testing" class="table"> - <thead> - <tr> - <th>OS/Environment</th> - <th>Hadoop</th> - <th>Nodes</th> - <th>ZooKeeper</th> - <th>HDFS HA</th> - <th>Tests</th> - </tr> - </thead> - <tbody> - <tr> - <td>CentOS 7.1 w/Oracle JDK8 on EC2 (1 m3.xlarge, 8 d2.xlarge)</td> - <td>2.6.3</td> - <td>9</td> - <td>3.4.6</td> - <td>No</td> - <td>Random walk (All.xml) 24-hour run, saw <a href="https://issues.apache.org/jira/browse/ACCUMULO-3794">ACCUMULO-3794</a> and <a href="https://issues.apache.org/jira/browse/ACCUMULO-4151">ACCUMULO-4151</a>.</td> - </tr> - <tr> - <td>CentOS 7.1 w/Oracle JDK8 on EC2 (1 m3.xlarge, 8 d2.xlarge)</td> - <td>2.6.3</td> - <td>9</td> - <td>3.4.6</td> - <td>No</td> - <td>21 hr run of CI w/ agitation, 23.1B entries verified.</td> - </tr> - <tr> - <td>CentOS 7.1 w/Oracle JDK8 on EC2 (1 m3.xlarge, 8 d2.xlarge)</td> - <td>2.6.3</td> - <td>9</td> - <td>3.4.6</td> - <td>No</td> - <td>24 hr run of CI w/o agitation, 23.0B entries verified; saw performance issues outlined in comment on <a href="https://issues.apache.org/jira/browse/ACCUMULO-4146">ACCUMULO-4146</a>.</td> - </tr> - <tr> - <td>CentOS 6.7 (OpenJDK 7), Fedora 23 (OpenJDK 8), and CentOS 7.2 (OpenJDK 7)</td> - <td>2.6.1</td> - <td>1</td> - <td>3.4.6</td> - <td>No</td> - <td>All unit tests and ITs pass with -Dhadoop.version=2.6.1; Kerberos ITs had a problem with earlier versions of Hadoop</td> - </tr> - </tbody> -</table> - - - </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> +<title>Redirectingâ¦</title> +<link rel="canonical" href="https://accumulo.apache.org/release/accumulo-1.7.1/"> +<meta http-equiv="refresh" content="0; url=https://accumulo.apache.org/release/accumulo-1.7.1/"> +<h1>Redirectingâ¦</h1> +<a href="https://accumulo.apache.org/release/accumulo-1.7.1/">Click here if you are not redirected.</a> +<script>location="https://accumulo.apache.org/release/accumulo-1.7.1/"</script> </html>
