I'm running into a trouble when trying to create an Java based client which is used to query data from both Cloudera HBase 1.0.0 (CDH 5.4.7) and ElasticSearch 2.1.0. The issue is about dependency conflicts on guava library.
This bug describes pretty much the same issue as I met: https://issues.apache.org/jira/browse/HBASE-14126
At least in my case using a lower version of guava (lower than 17.0 from where the breaks happens) is out of the table because it will lead Elasticsearch JAVA search API failure. And now I'm trying the Apache HBase Shaded Client 1.1.2 (which is designed for HBase 1.1.0 I suppose), at least so far some of the simple HBase operations (I tried only get/scan so far) are all suceeded.
http://mvnrepository.com/artifact/org.apache.hbase/hbase-shaded-client
I'm wondering if there is any known risk or issue about using Apache HBase Shaded Client 1.1.x on Hbase 1.0.0 or even earlier versions.
Or is there any design "rules" on Hadoop/Hbase client libraries (native API) on forward/backward compatibility? E.g., is that necessary to upgrade all the applications which are using any of those client libraries, when some updates happens on server's end.
Let me answer to myself:)
After 6 months of running, testing and development, we can confirm that backward compatibility of HBase client v1.1.x is quite well, and works smoothly with older HBase server such as 1.0.0-CDH 5.4.7.