[ https://issues.apache.org/jira/browse/ACCUMULO-731?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Christopher Tubbs updated ACCUMULO-731: --------------------------------------- Affects Version/s: (was: 1.5.0) > Rework API's To Use java.nio Style Buffers > ------------------------------------------ > > Key: ACCUMULO-731 > URL: https://issues.apache.org/jira/browse/ACCUMULO-731 > Project: Accumulo > Issue Type: Improvement > Components: client > Reporter: Ed Kohlwey > Assignee: Billie Rinaldi > Fix For: 1.5.0 > > > I wanted to start a dialog around modernizing some of the Accumulo API's to > use NIO style buffers instead of the current access patterns. > Using ByteBuffers, CharBuffers, etc. can have a substantial impact on > reducing garbage collector load and make it easier to deploy Accumulo on > lower-performance hardware. Additionally, a large number of projects have > begun moving their IO utilities to these classes so this will increase > interoperability with those projects (such as Avro) and will also ease the > implementation of implementing various serialization and deserialization > protocols on top of Key and Value types for projects such as Typo. It will > also simplify the existing implementation of the client API by implementing > Key and Value directly on top of the TKey and TValue types. > The following is suggested: > * Deprecate the encode(byte[]) and decode(byte[]) methods of > TypedValueCombiner.Encoder or add a generic supertype to these so there can > be "clean" forward-compatible implementations while preserving > backward-compatibility > * Add encode(ByteBuffer) and decode(ByteBuffer) methods to > TypedValueCombiner.Encoder > * Add constructors and access methods to Key and Value that utilize ByteBuffer > * Deprecate all the non-nio-based accessors and setters on Key and Value or > add a generic supertype so that you can have backwards-compatible subclasses > which can be deprecated. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira