-
Notifications
You must be signed in to change notification settings - Fork 2.3k
[hbase] Separate HBase v0.9x and v1.x bindings #392
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
I'd like us to support HBase 0.94, and that won't work with the HBase 0.98 jars. Do we want to have per-major-client-version bindings? that would mean:
That would mean we couldn't, e.g. take advantage of client-side optimizations in minor versions (atleast not without gymnastics). I certainly like this better than the alternative of per-minor-client-version bindings. Unrelated, does keeping the 1.y API stuff in a module allow that module to build against the HBase 2.0.0-SNAPSHOT? Just wondering if we can close out #379 via this. |
|
wrt naming, what if we introduce a means for bindings to have submodules and a way to tell us which class corresponds to a version request? Essentially, something that would let us do: or instead of having it tied to the binding name directly. |
|
the travis failure is because the distribution assembly pom needs to list the hbase1 binding as a dependency |
|
Fixed the travis failure, thanks. I'll try to see if this addresses #379 tomorrow. Re: the |
|
OK, I separated the HBase bindings into three versions:
The I'd like to get this in and put off adding a |
|
as the patch currently stands, we'd have to make the next release version 0.4.0, since the "hbase" binding target goes away. |
|
I'm happy targeting this for the next release (leaving it out of 0.3.1). |
hbase10/README.md
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think with this patch there is no "hbase" binding, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this doc error is the only fix-before-push thing I see.
hbase/ now contains the HBase v0.9 binding code. hbase1/ now contains the HBase 1.0 binding code.
HBase 0.94 requires an additional dependency on hadoop-core, but has no source-level changes to the client.
Remove deprecated methods: Put.add -> Put.addColumn. KeyValue -> Cell.
|
Sorry for the delay. All comments addressed - thanks! |
|
+1 |
[hbase] Separate HBase v0.9x and v1.x bindings
[hbase] Separate HBase v0.9x and v1.x bindings
[hbase] Separate HBase v0.9x and v1.x bindings
See #272.
This change breaks
HBaseClient10into a separate module, and downgrades the HBase version used by thehbasebinding to v0.98.13.Note that the HBase 1.0 binding is now accessed via
hbase1, instead ofhbase-10so that the runner script maps to the correct binding.I tested against HBase v0.98.13 (with
hbase) and v1.0.1.1 (withhbase1). The naming is a bit confusing...does anyone have an opinion on this naming shceme versus anhbase09andhbase1binding?