Author: elserj Date: Mon Feb 16 21:44:45 2015 New Revision: 1660210 URL: http://svn.apache.org/r1660210 Log: Some more bug fixes for 1.6.2
Modified: accumulo/site/trunk/content/release_notes/1.6.2.mdtext Modified: accumulo/site/trunk/content/release_notes/1.6.2.mdtext URL: http://svn.apache.org/viewvc/accumulo/site/trunk/content/release_notes/1.6.2.mdtext?rev=1660210&r1=1660209&r2=1660210&view=diff ============================================================================== --- accumulo/site/trunk/content/release_notes/1.6.2.mdtext (original) +++ accumulo/site/trunk/content/release_notes/1.6.2.mdtext Mon Feb 16 21:44:45 2015 @@ -54,6 +54,42 @@ is meant to represent all of the informa or DevOps-types to observe and act on scans which are running for excessive periods of time. [ACCUMULO-2641][7] fixes `ActiveScan` to ensure that the internal identifier `scanId` is properly set. +### Table state change doesn't wait when requested + +An Accumulo table has two states: `ONLINE` and `OFFLINE`. An offline table in Accumulo consumes no TabletServer +resources, only HDFS resources, which makes it useful to save infrequently used data. The Accumulo methods provided +to transition a state from `ONLINE` to `OFFLINE` and vice versa did not respect the `wait=true` parameter +when set. [ACCUMULO-3301][8] fixes the underlying implementation to ensure that when `wait=true` is provided, +the method will not return until the table's state transition has fully completed. + +### KeyValue doesn't implement `hashCode()` or `equals()` + +The `KeyValue` class is an implementation of `Entry<Key,Value>` which is returned by the classes like +`Scanner` and `BatchScanner`. [ACCUMULO-3217][9] adds these methods which ensure that the returned `Entry<Key,Value>` +operates as expected with `HashMaps` and `HashSets`. + +### Potential deadlock in TabletServer + +Internal to the TabletServer, there are methods to construct instances of configuration objects for tables +and namespaces. The locking on these methods was not correctly implemented which created the possibility to +have concurrent requests to a TabletServer to deadlock. [ACCUMULO-3372][10] found this problem while performing +bulk imports of RFiles into Accumulo. Additional synchronization was added server-side to prevent this deadlock +from happening in the future. + +### The `DateLexicoder` incorrectly serialized `Dates` prior 1970 + +The `DateLexicode`, a part of the `Lexicoders` classes which implement methods to convert common type primitives +into lexicographically sorting Strings/bytes, incorrectly converted `Date` objects for dates prior to 1970. +[ACCUMULO-3385][11] fixed the `DateLexicoder` to correctly (de)serialize data `Date` objects. For users with +data stored in Accumulo using the broken implementation, the following can be performed to read the old data. + + Lexicoder lex = new ULongLexicoder(); + for (Entry<Key, Value> e : scanner) { + Date d = new Date(lex.decode(TextUtil.getBytes(e.getKey().getRow()))); + // ... + } + + ## Performance Improvements Apache Accumulo 1.6.2 includes a number of performance-related fixes over previous versions. @@ -110,4 +146,8 @@ and, in HDFS High-Availability instances [4]: http://accumulo.apache.org/release_notes/1.6.1.html [5]: https://issues.apache.org/jira/browse/ACCUMULO-3218 [6]: https://issues.apache.org/jira/browse/ACCUMULO-3448 -[7]: https://issues.apache.org/jira/browse/ACCUMULO-2641 \ No newline at end of file +[7]: https://issues.apache.org/jira/browse/ACCUMULO-2641 +[8]: https://issues.apache.org/jira/browse/ACCUMULO-3301 +[9]: https://issues.apache.org/jira/browse/ACCUMULO-3217 +[10]: https://issues.apache.org/jira/browse/ACCUMULO-3372 +[11]: https://issues.apache.org/jira/browse/ACCUMULO-3385 \ No newline at end of file