You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@accumulo.apache.org by "Ed Kohlwey (JIRA)" <ji...@apache.org> on 2012/08/16 15:52:38 UTC

[jira] [Created] (ACCUMULO-731) Rework API's To Use java.nio Style Buffers

Ed Kohlwey created ACCUMULO-731:
-----------------------------------

             Summary: 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
    Affects Versions: 1.5.0
            Reporter: Ed Kohlwey
            Assignee: Billie Rinaldi


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: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (ACCUMULO-731) Rework API's To Use java.nio Style Buffers

Posted by "Christopher Tubbs (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ACCUMULO-731?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christopher Tubbs updated ACCUMULO-731:
---------------------------------------

    Fix Version/s: 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

[jira] [Updated] (ACCUMULO-731) Rework API's To Use java.nio Style Buffers

Posted by "Christopher Tubbs (JIRA)" <ji...@apache.org>.
     [ 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