Does this include capability to work with secure HBase as well? Thanks
On Friday, January 24, 2014 4:28:16 PM UTC-6, tsuna wrote: > > Hi all, > after 3 months in RC2 and 2 more months past that, I'm happy to > announce that AsyncHBase 1.5.0 is now officially out. AsyncHBase > remains true to its initial promise: the API is still backward > compatible, but under the hood it continues to work with all > production releases of HBase of the past few years. > > This release was tested against HBase 0.89, 0.90, 0.92, 0.94, and > 0.96. On HBase 0.96, the performance is looking great, with > AsyncHBase still outperforming HTable by about 2x. > > > Tag: https://github.com/OpenTSDB/asynchbase/tree/v1.5.0 > Pre-built <https://github.com/OpenTSDB/asynchbase/tree/v1.5.0Pre-built>jar: > http://code.google.com/p/opentsdb/downloads/detail?name=asynchbase-1.5.0.jar > The release is also available in Maven central. > > > * Version 1.5.0 (2013-12-13) [67fc3b7] > > This release introduces compatibility with HBase 0.96 and up, and adds > a dependency on Google's protobuf-java library. Note that HBase 0.95.x, > which was a "developer preview" release train, is NOT supported. > > Please note that support for explicit row locks has been removed from > HBase 0.95 and up. While the classes and functionality remain usable > when using earlier versions of HBase, an `UnsupportedOperationException' > will be raised if one attempt to send a `RowLockRequest' to a newer > version of HBase. > > Please note that while AsyncHBase never made any guarantees about > the exact order in which multiple edits are applied within a batch, > the order is now different when talking to HBase 0.96 and up. > > New public APIs: > - Scanners can now use a variety of different filters via the new > `ScanFilter' interfaces and its various implementations. > - It's possible to specify specific families to scan via `setFamilies'. > - Scanners can put an upper bound on the amount of data fetched by RPC > via the new `setMaxNumKeyValues' (works with HBase 0.96 and up only). > - HBaseRpc now has a `failfast()' and a `setFailfast(boolean)' pair > of methods to allow RPCs to fail as soon as their encounter an > issue out of the ordinary (e.g. not just a `NotSuchRegionException'). > - `GetRequest' has additional constructor overloads that make its API > more uniform with that of other RPCs. > - HBaseClient has new `prefetchMeta' methods to prefetch metadata about > the regions of a table (for the entire table or a given key range). > > Noteworthy bug fixes: > - DeleteRequest wasn't honoring its timestamp if one was given (#58). > - When a connection attempt fails, buffered RPCs weren't cleaned up > or retried properly. > - When one RPC fails because of another one (e.g. we fail to send an > RPC because a META lookup failed), the asynchronous exception that > is given to the callback now properly carries the original RPC that > failed. > - There was an unlikely race condition that could cause an NPE while > trying to retrieve the ROOT region from ZooKeeper. > - There was an unlikely race if the client got disconnected right > after successfully establishing a connection to a RegionServer, while > it was flushing RPC buffered while waiting to be connected. Also > when those RPCs were flushed, the batchable RPCs weren't given a > chance to get batched. > - It was not possible to scan the ROOT region (or the hbase:meta region > when using HBase 0.96+). > > $ git diff --stat v1.4.1..v1.5.0 | tail -n 1 > 72 files changed, 5213 insertions(+), 540 deletions(-) > > (a fair amount of the new lines comes from all the .proto files > imported from HBase's source tree) > > $ git shortlog v1.4.1..v1.5.0 > Andrey Stepachev (1): > Add support for multiple families/qualifiers in scanners. > > Benoit Sigoure (76): > Start v1.5.0. > Add Viral to AUTHORS for his work on ScanFilter. > Document ScanFilter and prevent it from being subclassed externally. > Convert the regexp key filtering mechanism to the ScanFilter. > Document how to run integration tests. > Enhance filters a bit and add integration tests. > Add a new helper function to produce better errors during tests. > Mention new scanner filters in NEWS. > Allow RPCs to fail-fast. > Update NEWS / THANKS. > Update suasync to 1.3.2. > Properly clean up when connection fails before being opened. > Properly report which RPC has failed in HasFailedRpcException. > Fix a small race condition when looking up the ROOT region. > Add HBase protocol buffers to the compilation process. > De-serialize the HBase 0.95+ znode that points to META. > Fix the process of META lookups for HBase 0.95 and up. > Send the proper "hello" message to HBase 0.95 and up. > Remove some unused helper code to create buffers. > Update the per-RPC header for HBase 0.95+. > Refactor how RPC objects know what RPC method they're for. > Compile Java code generated from protobuf files separately. > Kill some trailing whitespaces. > Add a helper function to de-serialize Protocol Buffer VarInt32. > Add a semi-evil helper class to avoid copying byte arrays from > protobufs. > De-serialize RPC responses from HBase 0.95+. > Add a helper function to de-serialize protocol buffers. > Handle META lookups with 0.95+. > Dedup byte arrays when deserializing KeyValues from 0.95+. > Make sure we have all the data we need before de-serializing. > Convert GetRequest to HBase 0.95+. > Convert AtomicIncrementRequest to HBase 0.95+. > Make the run target depend on the jar. > Sync protobuf files with changes made in the HBase 0.95 branch. > Add some make variables for the compilers used. > Add support for "cell blocks". > Avoid unnecessary string copies on each RPC. > Convert scanners and filters to HBase 0.95+. > Add a missing accessor to retrieve the max number of KVs on a > Scanner. > Expose HBase 0.95's ability to limit the number of bytes > returned by a scanner. > Log the channel when logging outgoing RPCs. > Convert single-put RPCs to HBase 0.95+. > Ensure that RPCs that shouldn't get cell blocks don't. > Convert the CAS RPC to HBase 0.95+. > Convert single-Delete RPCs to HBase 0.95+. > Catch up with the protobuf changes made in 0.96 > Explicit row locks are no longer supported in HBase 0.95 and up. > The 'getProtocolVersion' RPC no longer exists in 0.95+. > Add support for batched edits with HBase 0.96+. > Optimize multi-action a bit with HBase 0.95+ by sorting less. > Remove some warnings that come up when compiling with JDK 7. > Note that ColumnRangeFilter was added in HBase 0.92. > Upgrade to logback 1.0.13. > Upgrade to SLF4J 1.7.5. > Make sure to not schedule timers with a negative timeout. > Add some constructor overloads for GetRequest. > Upgrade to async 1.4.0. > Add a couple integration tests covering NoSuchColumnFamilyException. > Fix distclean: remove com/google/protobuf from the build directory. > Update NEWS for the v1.5.0 release. > Prevent warnings due to generated protobuf classes. > Properly flush queued up RPCs upon connecting. > Make sure we compile for Java 6. > Add a note regarding some infuriating limitations of the JRE. > Fix an edge case in HBase 0.96 one-shot scanners. > Add/improve a few toString() methods. > Fix accesses to "hbase:meta". > Make Scanner usable with -ROOT- / hbase:meta. > Handle an edge case with `prefetchMeta' related to 0.96 > compatibility. > Update NEWS/THANKS/AUTHORS. > Fix the distclean rule so we can distclean twice in a row. > Have pom.xml cleaned during `distclean'. > Upgrade to Netty 3.8.0. > Fix bug in deserialization of the `Multi' RPC in HBase 0.96 > Add additional logging when decoding fails with an uncaught > exception. > Release 1.5.0. > > Brandon Forehand (1): > Add support for prefetching the meta region. > > Phil Smith (1): > Here's some one-liners to compile and run tests. > > St.Ack (1): > Make mvn build accomodate protobuf files > > Viral Bajaria (2): > Initial commit for ScanFilter. > Add more scanner filters. > > Xun Liu (2): > Properly honor timestamps in DeleteRequest. > Add support to delete a value at the specified timestamp. > > -- > Benoit "tsuna" Sigoure >
