Heya devs, I have two 90k patches I'd like to get some more eyes on. The first is the OrderedBytes patch, HBASE-8201 [0]. It is lightly analogous to the existing Bytes.toXXX methods, but implements order-preserving serialization strategies. Its encoding format can be inspected to determine the encoding used. The patch is nearing completion, so now's the time to add your concerns to RB [1]. The major outstanding issue with this patch is its use of ByteBuffers; there's concern about the amount of garbage that will be generated in tight loops. Our ByteRange was proposed as a mutable alternative. The other concern is performance of the encoding implementations. While performance is a consideration in this implementation, I've created a separate ticket [2] for evaluating and improving runtime performance. Please keep your attention on the on-disk formats and APIs this patch implements.
The second is the Data Types API patch, HBASE-8693 [3]. It provides a user-extensible data type API and includes implementations of a number of simple types. Many of those types depend on the encoding provided by OrderedByes. It also provides a collection of "legacy" types, which all use the existing Bytes.toXXX methods. These are intended to ease the burden of transitioning an existing HBase application over to the new data types APIs. This patch is in an earlier stage, but it's conceptually quite simple so it should be easier to review. It's also available on RB [4]. Thanks for your time and attention, Nick [0]: https://issues.apache.org/jira/browse/HBASE-8201 [1]: https://reviews.apache.org/r/11633/ [2]: https://issues.apache.org/jira/browse/HBASE-8694 [3]: https://issues.apache.org/jira/browse/HBASE-8693 [4]: https://reviews.apache.org/r/12069/
