Author: elserj Date: Sat Sep 5 22:14:59 2015 New Revision: 1701428 URL: http://svn.apache.org/r1701428 Log: 1.5.4 release notes
Modified: accumulo/site/trunk/content/release_notes/1.5.4.mdtext Modified: accumulo/site/trunk/content/release_notes/1.5.4.mdtext URL: http://svn.apache.org/viewvc/accumulo/site/trunk/content/release_notes/1.5.4.mdtext?rev=1701428&r1=1701427&r2=1701428&view=diff ============================================================================== --- accumulo/site/trunk/content/release_notes/1.5.4.mdtext (original) +++ accumulo/site/trunk/content/release_notes/1.5.4.mdtext Sat Sep 5 22:14:59 2015 @@ -1,4 +1,4 @@ -Title: Apache Accumulo 1.5.3 Release Notes +Title: Apache Accumulo 1.5.4 Release Notes Notice: 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 @@ -16,79 +16,50 @@ Notice: Licensed to the Apache Softwa specific language governing permissions and limitations under the License. -Apache Accumulo 1.5.3 is a bug-fix release for the 1.5 series. It is likely to be the last -1.5 release, with development shifting towards newer release lines. We recommend upgrading -to a newer version to continue to get bug fixes and new features. - -In the context of Accumulo's [Semantic Versioning][semver] [guidelines][api], -this is a "patch version". This means that there should be no public API changes. Any -changes which were made were done in a backwards-compatible manner. Code that -runs against 1.5.2 should run against 1.5.3. +Apache Accumulo 1.5.4 is one more bug-fix release for the 1.5 series. Like 1.5.3 before it, this release contains a +very small changeset when considering the normal size of changes in a release. + +This release contains no changes to the [public API][api]. As such, there are no concerns +for the compatibility of user code running against 1.5.3. All users are encourage to upgrade +immediately without concern of stability and compatibility. + +A full list of changes is available via [CHANGES][CHANGES]. We'd like to thank all of the committers and contributors which had a part in making this release, from code contributions to testing. Everyone's efforts are greatly appreciated. -## Security Changes - -### [SSLv3 disabled (POODLE)][ACCUMULO-3316] - -Many Accumulo services were capable of enabling wire encryption using -SSL connectors. To be safe, [ACCUMULO-3316] disables the problematic SSLv3 version by default which was -potentially susceptible to the man-in-the-middle attack. [ACCUMULO-3317] also disables SSLv3 in the monitor, -so it will not accept SSLv3 client connections, when running it with https. - -## Notable Bug Fixes - -### [SourceSwitchingIterator Deadlock][ACCUMULO-3745] - -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. - -This deadlock prevented the scan and the minor compaction from ever successfully completing -without restarting the tablet server. [ACCUMULO-3745] fixes the inconsistent synchronization -inside of the SourceSwitchingIterator to prevent this deadlock from happening in the future. - -The only mitigation of this bug was to restart the tablet server that is deadlocked. - -### [Table flush blocked indefinitely][ACCUMULO-3597] +## Correctness Bugs -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. +### Silent data-loss via bulk imported files -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. -[ACCUMULO-3597] prevents this deadlock by forcing the use of a non-cached connection for the RPC -message requesting a metadata tablet to be loaded. +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. [ACCUMULO-3967][ACCUMULO-3967] 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. -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. +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.5.4. -The only mitigation of this bug was to restart the tablet server that is hung. +Thanks to Edward Seidl for reporting this bug to us! -### [RPC Connections not cached][ACCUMULO-3574] +## Server-side auditing changes -It was observed that the underlying connection for invoking RPCs were not actually being cached, -despite it being requested that they should be cached. While this did not result in a noticed -performance impact, it was deficiency. [ACCUMULO-3574] ensures that connections are cached when -it is requested that they are. +Thanks to James Mello for reporting and providing the fixes to the following server-side auditing issues. -### [Deletes on Thrift Proxy API ignored][ACCUMULO-3474] +### Incorrect audit initialization -A user noted that when trying to specify a delete using the Accumulo Thrift Proxy, the delete -was treated as an update. [ACCUMULO-3474] fixes the Proxy server such that deletes are properly -respected as specified by the client. +It was observed that the implementation used to audit user API requests on Accumulo server processes +was not being correctly initialized which caused audit messages to never be generated. This was rectified +in [ACCUMULO-3939][ACCUMULO-3939]. -## Other Changes +### Missing audit implementations -Other changes for this version can be found [in JIRA][CHANGES]. +It was also observed that some server-side API implementations did not include audit messages which resulted +in an incomplete historical picture on what operations a user might have invoked. The missing audits (and those +that were added) are described in [ACCUMULO-3946][ACCUMULO-3946]. ## Testing @@ -116,12 +87,12 @@ Accumulo configuration from `120s` to `2 <th>Tests</th> </tr> <tr> - <td>Gentoo</tdt> + <td>OSX</tdt> <td>2.6.0</td> <td>1</td> <td>3.4.5</td> <td>No</td> - <td>Unit and Integration Tests</td> + <td>Unit and Functional Tests</td> </tr> <tr> <td>Centos 6.5</tdt> @@ -129,19 +100,12 @@ Accumulo configuration from `120s` to `2 <td>6</td> <td>3.4.5</td> <td>No</td> - <td>Continuous Ingest and Verify</td> + <td>Continuous Ingest and Verify (10B entries), Randomwalk (24hrs)</td> </tr> </table> -[ACCUMULO-3316]: https://issues.apache.org/jira/browse/ACCUMULO-3316 -[ACCUMULO-3317]: https://issues.apache.org/jira/browse/ACCUMULO-3317 -[ACCUMULO-2388]: https://issues.apache.org/jira/browse/ACCUMULO-2388 -[ACCUMULO-3474]: https://issues.apache.org/jira/browse/ACCUMULO-3474 -[ACCUMULO-3574]: https://issues.apache.org/jira/browse/ACCUMULO-3574 -[ACCUMULO-3597]: https://issues.apache.org/jira/browse/ACCUMULO-3597 -[ACCUMULO-3745]: https://issues.apache.org/jira/browse/ACCUMULO-3745 +[ACCUMULO-3967]: https://issues.apache.org/jira/browse/ACCUMULO-3967 +[ACCUMULO-3939]: https://issues.apache.org/jira/browse/ACCUMULO-3939 +[ACCUMULO-3946]: https://issues.apache.org/jira/browse/ACCUMULO-3946 [api]: https://github.com/apache/accumulo/blob/1.7.0/README.md#api -[readme]: https://github.com/apache/accumulo/blob/1.5.3/README.md -[semver]: http://semver.org -[CHANGES]: https://issues.apache.org/jira/browse/ACCUMULO/fixforversion/12328662 -[REL_152]: /release_notes/1.5.2.html \ No newline at end of file +[CHANGES]: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12312121&version=12333106 \ No newline at end of file