[ 
https://issues.apache.org/jira/browse/HBASE-8201?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nick Dimiduk updated HBASE-8201:
--------------------------------

    Attachment: 0001-HBASE-8201-OrderedBytes-provides-order-preserving-se.patch

Patch 3 attached and on RB.

This version tightens up the tests to be more careful about buffer 
over/under-run and also ensure reading/decoding an encoded buffer does not 
modify underlying byte[]. It also implements a couple utility methods for 
working with encoded values. The whole thing is up for a proper performance 
evaluation, for which I opened HBASE-8694.

A notable deviation from the sqlite spec is in the blob-last format. Blob-last 
is modified to include a termination byte of 0x00. This is necessary in order 
to maintain reverse sort order of empty values.

A notable difference between this specification and Java is the sort order of 
NaN. This spec treats NaN as less than all values, including null. Java sorts 
NaN as greater than any floating point value.
See 
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Arrays.html#sort(double[])

Major TODO: The numeric encoding and decoding implementation suffers from 
floating point rounding errors. I'm going to read a Goldberg paper and hope for 
a way around this, so in the mean time some of the test scenarios are commented 
out.
                
> Implement serialization strategies
> ----------------------------------
>
>                 Key: HBASE-8201
>                 URL: https://issues.apache.org/jira/browse/HBASE-8201
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Client
>            Reporter: Nick Dimiduk
>            Assignee: Nick Dimiduk
>             Fix For: 0.95.2
>
>         Attachments: 
> 0001-HBASE-8201-OrderedBytes-provides-order-preserving-se.patch, 
> 0001-HBASE-8201-OrderedBytes-provides-order-preserving-se.patch, 
> 0001-HBASE-8201-OrderedBytes-provides-order-preserving-se.patch
>
>
> Once the spec is agreed upon, it must be implemented.

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

Reply via email to