[ 
https://issues.apache.org/jira/browse/HBASE-9477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13762621#comment-13762621
 ] 

Jonathan Hsieh commented on HBASE-9477:
---------------------------------------

This is the time to make these kinds of calls.  

bq. Rename Cell interface to KeyValue with current Cell interface + "old" 
KeyValue methods that are not part of Cell, the latter being deprecated, and 
being implemented by KV.
That way people's code will work without rebuilding vs both 94 and 96, and they 
won't need shims.

This is possibly true if with a recompile but there will still be broken parts 
with for apis that didn't make it to the Cell interface.  Recompile is 
necessary because we are converting a class to an interface (there was a 
similar problem with one of the hadoop2 job classes).

I do think that changing Cell to fit in where KeyValue used to be confusing and 
opaque.  Something similar was done when hbase went onto hadoop2/mr2 and at 
least by having new names it is easier to tell where we are and where we were.  

Previous to 0.96/0.95 we haven't had clear markers on what was 
InterfaceVisiblity.Public and InterfaceStability.Evolving. Before we release an 
0.96 I'd like to go through common and client with a fine tooth comb and 
@deprecate / Privatize more to make it simpler for the future upgrades.

bq. We should see whether this will cover the changes required for flume, ycsb 
and hive.

I've looked at flume, hive, and impala will look at ycsb (which one are you 
guys using? link?). 
* Flume is Put-centric, and seems unaffected by these changes since it only 
really affects Get Results.  
* [~brocknoland] in Hive-land has a patch that already takes into account the 
current hbase changes.
* Impala needs to be updated to use the more public api (it goes under the 
covers one layer too deep).
                
> Add deprecation compat shim for Result#raw and Result#list for 0.96
> -------------------------------------------------------------------
>
>                 Key: HBASE-9477
>                 URL: https://issues.apache.org/jira/browse/HBASE-9477
>             Project: HBase
>          Issue Type: Sub-task
>    Affects Versions: 0.95.2
>            Reporter: Jonathan Hsieh
>            Assignee: Jonathan Hsieh
>            Priority: Blocker
>             Fix For: 0.98.0, 0.96.0
>
>         Attachments: hbase-9477.patch
>
>
> Discussion in HBASE-9359 brought up that applications commonly use the 
> Keyvalue[] Result#raw (and similarly Result#list).  Let's rename the 0.96 
> version to something like #listCells and #rawCells and revert #raw and #list 
> to their old signature to easy upgrade deprecation issues. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to