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

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

bq.  I'd say making non-public things non-public is a better option. That way, 
the only way to get at them is to use tricks explicitly, and I'm ok with 
breaking that 

Actually, this doesn't work.  For example, even in an ideal future world were 
users aren't supposed to use KeyValue, it and its methods must still be java 
public (though @InterfaceAudience.Private), because code form other packages 
(like o.a.h.h.regionserver) use them and need to access the methods.  Users 
generally touch code in common and client jars so that's where we should start 
and make it clear that we are enforcing the policy.  (that said they touch 
other parts too -- thee MR jobs, bulk load tool, etc are in regionserver).
                
> 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