You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "James Taylor (JIRA)" <ji...@apache.org> on 2013/03/02 21:27:14 UTC

[jira] [Commented] (HBASE-7692) Add utility class to generate ordered byte[] serialization

    [ https://issues.apache.org/jira/browse/HBASE-7692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13591503#comment-13591503 ] 

James Taylor commented on HBASE-7692:
-------------------------------------

I'm investigating moving Phoenix to use Orderly. It's very similar to what we're doing today, but has more functionality with a cleaner API.

[~saint.ack@gmail.com] The Writable stuff is used as a bytes pointer, not as a client/server data exchange mechanism. Phoenix uses them the same way. It's just a lightweight way to have an offset/length into a byte array. You can also reset the byte[],offset,length on an instance which prevents having to re-instantiate a new one every time (unlike the java.nio.ByteBuffer)

The permutations are useful. One set of them instantiate a new object on deserialize (for Java native object types like Integer and Long), while the others reuse a byte buffer to hand you back what was deserialized. Both are useful under different circumstances. We'll try to use the latter.

It'd be great if this could be packaged as a separate maven module such that Phoenix can depend on it since it's still on the 0.94 branch.
                
> Add utility class to generate ordered byte[] serialization
> ----------------------------------------------------------
>
>                 Key: HBASE-7692
>                 URL: https://issues.apache.org/jira/browse/HBASE-7692
>             Project: HBase
>          Issue Type: Improvement
>          Components: util
>            Reporter: Nick Dimiduk
>            Assignee: Nick Dimiduk
>             Fix For: 0.95.0
>
>         Attachments: HBASE-7692.v1.patch, HBASE-7692.v2.patch, HBASE-7692.v3.patch, HBASE-7692.v4.patch, HBASE-7692.v5.patch
>
>
> The current Bytes utility class works, but produces output that does not maintain the native sort ordering of the input value. This results in, for example, a negative value that does not necessarily sort before a positive value. HBase should provide a canonical implementation of such a serialization format so that third-parties can reliably build on top of HBase. This will allow an implementation for HIVE-3634, HIVE-2599, or HIVE-2903 that is compatible with similar features in Pig.

--
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