3

I wonder how can I know if my HBase client’s jar fit to my HBase server’s version. Is there any place where it is specified which HBase versions are supported with an HBase client jar?

In my case I want to use the newest HBase client jar (2.4.5) with a pretty old HBase server (version 1.2). Is there any place where I can check the compatibility to know if it’s possible and supported?

I’d like to know if there’s a table that shows the wide compatibility like other databases has. Something like: https://docs.mongodb.com/drivers/java/sync/current/compatibility/

user7551211
  • 649
  • 1
  • 6
  • 25

1 Answers1

1

Perhaps you can use checkcompatibility.py script provided in HBase distro itself to generate client API compatibility report between 1.2 and 2.4. Haven't used 2.4 myself, but based on prior history I wouldn't hope there is no breaking changes across two different major versions.

mazaneicha
  • 8,794
  • 4
  • 33
  • 52
  • That’s nice. I didn’t know about the script. Hasn’t anyone written this down in any website so I can check which one is the newest client to support my server’s version? – user7551211 Aug 23 '21 at 16:20
  • I’m talking about something like this https://docs.mongodb.com/drivers/java/sync/current/compatibility/ – user7551211 Aug 23 '21 at 16:22
  • I think not too many people bother with this sort of questions, and choose to simply recompile their client code to be safe. Especially after reading lengthy HBase's own discourse on compatibility https://hbase.apache.org/book.html#hbase.versioning :) – mazaneicha Aug 23 '21 at 17:12
  • What do you mean by recompiling their client code to be safe? Using the fit client version? My problem is that I use libraries that integrate with HBase and more, but since they are newer, they you a newer version of the HBase client than my server's version. – user7551211 Aug 24 '21 at 07:31
  • 1
    Saw your other questions re. Camel. That clarified your predicament, but unfortunately unless you're able to upgrade your HBase (sorry for stating the obvious) the isolation route suggested there sounds like the only way. BTW although HBase doesnt provide a compatibility matrix in a common sense, you can review a list of _incompatible_ changes for each release over at git https://github.com/apache/hbase/blob/rel/2.0.0/CHANGES.md – mazaneicha Aug 24 '21 at 13:15
  • Thanks that's helpful. The fact is that II can't upgrade the HBase server because it's not mine. Anyway, I was pretty surprised that this was the only option. – user7551211 Aug 24 '21 at 17:09