Allow creating `PutRequest' from a `KeyValue'.

Change-Id: I716b2826c3fe2255652cb206aaa15af662b4b281
Remove superfluous semicolon.

Change-Id: Iaa597817ee22e387d16de8a362ddc8f5ced11586
Signed-off-by: Benoit Sigoure <tsuna@stumbleupon.com>
Mavenize with minimal impact to directory hierarchy.

Asynchronous HBase client will be available from Maven Central so
projects depending on it and building with Maven, Ant+Ivy2 or SBT
can easily get it.
Likewise StumbleUpon Async library is also mavenized.

Change-Id: Id70836da8a06431cbe208d27e89d688b14801761
Signed-off-by: Benoit Sigoure <tsuna@stumbleupon.com>
Update to JUnit 4.10.

Change-Id: If31fcbf1aaf7be2da4807782bfb1a72dc8871a8c
Update to logback 1.0.0.

Change-Id: I9fda90305aaf4d65611d5618ba7627e99cb06880
Update to Mockito 1.9.0.

Change-Id: Ifdfce499b7f3abc78122c5064f45ff6ce1eb728d
Update to PowerMock 1.4.10.

Change-Id: I028412c09d32e7f0647717c6e57ebff865540852
Update to SLF4J 1.6.4.

Change-Id: Iafbc9ba4e6a1b8cc4bf8c05ffa592feef5c1b916
Update to ZooKeeper 3.3.4.

Change-Id: Id40d0ef4a2456d1b190422c87d2f4e485e640e14
Update to Netty 3.2.7.Final.

Change-Id: I55026b4eb9e6f58f8a0d1074bc88d0f04e9aa996
Prepare to generate pom.xml from Makefile.

Change-Id: Iea3b72b1567a91d75288a5e58247e9d6b9689fe3
Generate pom.xml from Makefile to avoid duplication.

Change-Id: Ib9fb5afff69ba5861a1c22f17a1a9dcf37d159d2
s/hbaseasync/asynchbase/g

This has always been confusing.  Not it's not anymore.

Change-Id: I8175a22312a923f6223bea1962241a2072d44a4a
Remove the -SNAPSHOT from the pom file.

Change-Id: Iccdf89548b4b8776de88d320625ab36ab692e94c
Start version 1.2.0.

Change-Id: I1bc301e3cbee529e9287982217eb7c2891bef8a5
0.91 compatibility: parse new-style -ROOT- locations in ZK.

0.91 changed the way the -ROOT- location is stored in ZooKeeper
twice.  Update ZKClient to understand both newer formats.

Change-Id: Iafcb68156ccbdaa5d84d822cc128d6f56436c833
0.91 compatibility: Change the way the client says hello to the server.

The HBase RPC protocol suffers yet another backward incompatible change
that can't be gracefully detected by clients.  If a 0.90 client connects
to a 0.91 server, unlike with previous versions of HBase where the
client would get unexpectedly disconnected from the server, with 0.91
the connection succeeds but it's in a permanently broken state.  Any RPC
sent to the server will trigger a NPE inside the server.

Add a new JVM flag to enable 0.91 compatibility mode:
  -Dorg.hbase.async.091=true
Once 0.91 becomes the stable version, this flag will be set to true by
default, and clients will have to set it to false in order to revert to
the 0.90 behavior.

Change-Id: Ia4dd23986b2e1a32433915eff5fe0ede3c024dcd
Add VersionMismatchException.

Translate org.apache.hadoop.io.VersionMismatchException into
org.hbase.async.VersionMismatchException, which will be useful
to deal with some 0.92 incompatibilities.

Change-Id: Iaee77978254ced41fb8e879b04889a9d7eb7486b
Handle new style RPC responses from HBase 0.92.

As of HBase 0.92, responses are always framed (finally!) and also
contain a Status, which is currently unused, but needs to be read.

Change-Id: I8f1213201cfa2a11f3bbcd8b1de827212f4c1a9b
Adjust the way we say "hello" to the server to work with 0.92.

Because HBase 0.92 completely broke wire-level compatibility (mostly
because of HBASE-3939), we can no longer start sending any RPC as soon
as we connect.  We must first find out what protocol version the server
is using.

This also fixes an annoyance that could happen when sending rapidly a
lot of version-sensitive RPCs on a newly established connection.  The
previous code could easily reach the limit of number of callbacks on
a Deferred, which was annoying to handle.  The new code doesn't have
this problem because the connection is not deemed usable until we know
what version the server is running.

Change-Id: I45886f0cdf8e29f4a8ce8e99fa0fd71500376128