accumulo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [2/2] accumulo-website git commit: Draft release notes for 1.8.1
Date Tue, 21 Feb 2017 18:32:56 GMT
Draft release notes for 1.8.1


Branch: refs/heads/master
Commit: 538f419ab691979f3038f0ee0f930ff6b999acb7
Parents: 7585991
Author: Michael Wall <>
Authored: Tue Feb 21 13:32:50 2017 -0500
Committer: Michael Wall <>
Committed: Tue Feb 21 13:32:50 2017 -0500

 _posts/release/ | 162 +++++++++++++++++++++++
 1 file changed, 162 insertions(+)
diff --git a/_posts/release/ b/_posts/release/
new file mode 100644
index 0000000..d7cdafb
--- /dev/null
+++ b/_posts/release/
@@ -0,0 +1,162 @@
+title: DRAFT Apache Accumulo 1.8.1
+redirect_from: /release_notes/1.8.1.html
+(DRAFT Release Notes)
+Apache Accumulo 1.8. is a maintenance release on the 1.8 version branch. This
+release contains changes from more then 40 issues, comprised of bug-fixes,
+performance improvements, build quality improvements, and more. See
+[JIRA][JIRA_181] for a complete list.
+Below are resources for this release:
+* [User Manual][user_manual]
+* [Javadocs][javadocs]
+* [Examples][examples]
+In the context of Accumulo's [Semantic Versioning][semver] [guidelines][api],
+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.7.x should work against 1.8.0 -- binary compatibility
+has been preserved with one exception of an already-deprecated Mock Accumulo
+utility class. 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.
+## Major Changes
+### Problem with scans right after minor compaction
+A bug was found when 2 or more concurrent scans run on a tablet that
+has just undergone minor compaction. The minor compaction thread
+writes the in-memory map to a local temporary rfile and tries to
+switch the current iterators to use it instead of the native map. The
+iterator code in the scan thread may also switch itself to use the local
+temporary rfile it if notices it before the minor compaction threads
+performs the switch. The bug happened shortly after the switch when
+one of the iterator threads will get a NegativeArraySizeException.
+See [ACCUMULO-4483][ACCUMULO_4483] for more info.
+### Tablet Server Performance Improvement
+[ACCUMULO-4458][ACCUMULO_4458] mitigated some contention on the Hadoop 
+configuration instance backing the XML configs read for SiteConfiguration.  
+This should improve overall Tablet Server performance.
+### Synchronization issue with deep copies of sources
+Deep copies of iterator sources were not thread safe and threw
+exceptions, mostly down in the ZlibDecompressor library.  The real bug
+was in the BoundedRangeFileInputStream.  The read() method
+synchronizes on the underlying FSDataInputStream, however the
+available() method did not.   See [ACCUMULO-4391][ACCUMULO_4391].
+### System permission bug in Thrift Proxy
+The Accumulo Proxy lacked support for the following system permissions:
+Ticket is [ACCUMULO-4519][ACCUMULO_4519].
+### Shell compaction file selection options can block
+The block happens when the tablet lock is held.  The tablet lock is
+meant to protect changes to the tablets internal metadata, and
+blocking operations should not occur while this lock is held.  The
+compaction command has options to select files based on some
+criteria, some of which required blocking operations.  This issue is
+fixed in [ACCUMULO-4572][ACCUMULO_4572].
+### HostRegexTableLoadBalancer used stale information
+The HostRegexTableLoadBalander maintains an internal mapping of tablet
+server pools and tablet server status. It was updated at a
+configurable interval initially as an optimization. Unfortunately it
+had the negative side effect of providing the assignment and balance
+operations with stale information.  This lead to a constant shuffling
+of tablets.  The configuration property was removed so that
+assign/balance methods get updated information every time.  See
+### Modify TableOperations online/offline to check for table state 
+The table operations online and offline operations execute as a fate
+operation. If a transaction lock for the table is currently held,
+these operation will block even if no action is needed. 
+[ACCUMULO-4574][ACCUMULO_4574] changes the behavior of the online and 
+offline operation to a NOOP if the table is already in the requested state.  
+This returns immediately without queuing a fate operation.
+## Other Notable Changes
+* [ACCUMULO-4488][ACCUMULO_4488] Fix gap in user manual on Kerberos for clients
+* [ACCUMULO-2724][ACCUMULO_2724] CollectTabletStats had multiple -t parameter
+* [ACCUMULO-4431][ACCUMULO_4431] Log what random is chosen for a tserver.
+* [ACCUMULO-4494][ACCUMULO_4494] Include column family seeks in the Iterator Test Harness

+* [ACCUMULO-4549][ACCUMULO_4549] Remove duplicate init functions in TabletBalancer
+* [ACCUMULO-4467][ACCUMULO_4467] Random Walk broken because of unmet dependency on commons-math
+* [ACCUMULO-4578][ACCUMULO_4578] Cancel compaction FATE operation does not release namespace
+* [ACCUMULO-4505][ACCUMULO_4505] Shell still reads accumulo-site.xml when using Zookeeper
CLI options 
+* [ACCUMULO-4535][ACCUMULO_4535] HostRegexTableLoadBalancer fails with NullPointerException

+* [ACCUMULO-4575][ACCUMULO_4575] Concurrent table delete operations leave orphan fate transaction
+## Upgrading
+Upgrades from 1.7 to 1.8 are possible with little effort as no changes were made at the data
layer and RPC changes
+were made in a backwards-compatible way. The recommended way is to stop Accumulo 1.7, perform
the Accumulo upgrade to
+1.8, and then start 1.8. Like previous versions, after 1.8 is started on a 1.7 instance,
a one-time upgrade will
+happen by the Master which will prevent a downgrade back to 1.7. Upgrades are still one way.
Upgrades from versions
+prior to 1.7 to 1.8 should follow the below path to 1.7 and then perform the upgrade to 1.8
-- direct upgrades to 1.8
+for versions other than 1.7 are untested.
+Existing configuration files from 1.7 should be compared against the examples provided in
1.8. The 1.7 configuration
+files should all function with 1.8 code, but you will likely want to include changes found
in the 
+[1.8.0 release notes][1.8.0_release_notes] and these release notes for 1.8.1.
+For upgrades from prior to 1.7, follow the upgrade instructions to 1.7 first.
+## Testing
+Each unit and functional test only runs on a single node, while the RandomWalk
+and Continuous Ingest tests run on any number of nodes. *Agitation* refers to
+randomly restarting Accumulo processes and Hadoop Datanode processes, and, in
+HDFS High-Availability instances, forcing NameNode failover.
+{: #release_notes_testing .table }
+| OS/Environment                                                             | Hadoop   
           | Nodes | ZooKeeper        | HDFS HA | Tests                                  
+| CentOS7/openJDK1.8.0\_121/EC2; 1 m3.xlarge leader, 8 d2.xlarge workers     | 2.7.3    
           | 9     | 3.4.9            | No      | 24 HR Continuous Ingest without Agitation.
+| CentOS7/openJDK1.8.0\_121/EC2; 1 m3.xlarge leader, 8 d2.xlarge workers     | 2.7.3    
           | 9     | 3.4.9            | No      | 24 HR Continuous Ingest with Agitation.
+[sample]: {{ site.baseurl }}/1.8/examples/sample
+[1.8.0_release_notes]: {{ site.baseurl }}/release/accumulo-1.8.0/
+[user_manual]: {{ site.baseurl }}/1.8/accumulo_user_manual.html
+[javadocs]: {{ site.baseurl }}/1.8/apidocs
+[examples]: {{ site.baseurl }}/1.8/examples
+(DRAFT Release Notes)
\ No newline at end of file

View raw message