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

Anoop Sam John commented on HBASE-19112:
----------------------------------------

We can not expose RawCell as Public. So can not change the  Put/Delete # 
addCell() to take a RawCell.    Can we have the getType in Cell only?  Now we 
have an enum type.  We can make it such that the Put and diff Delete types are 
exposed but not the other internal types like min/max?  
If the Type was exposed as constant in an interface we could have like
CPType <- PublicType and
Cell # getType returns the PublicType where as the RawCell getType returns a 
sub interface type with extra types info.  With enum any way we can not have 
extends.
bq. If the getTypeByte is removed from Cell, how can we get the type byte from 
cells passed by user when converting the cells to proto?
If the Delete#add would have been only one type, we could have done this by 
using a wrapper type. One wrapper RawCell type for Put and another for delete 
and when user adds Cell to Put/Delete wrap that cell with our own so that the 
PB parts can get the type.  But I guess user might be adding any delete type 
using the add(Cell) way

> Suspect methods on Cell to be deprecated
> ----------------------------------------
>
>                 Key: HBASE-19112
>                 URL: https://issues.apache.org/jira/browse/HBASE-19112
>             Project: HBase
>          Issue Type: Bug
>          Components: Client
>            Reporter: Josh Elser
>            Assignee: ramkrishna.s.vasudevan
>            Priority: Blocker
>             Fix For: 2.0.0-beta-1
>
>         Attachments: HBASE-19112_branch-2.patch
>
>
> [~chia7712] suggested on the [mailing 
> list|https://lists.apache.org/thread.html/e6de9af26d9b888a358ba48bf74655ccd893573087c032c0fcf01585@%3Cdev.hbase.apache.org%3E]
>  that we have some methods on Cell which should be deprecated for removal:
> * {{#getType()}}
> * {{#getTimestamp()}}
> * {{#getTag()}}
> * {{#getSequenceId()}}
> Let's make a pass over these (and maybe the rest) to make sure that there 
> aren't others which are either implementation details or methods returning 
> now-private-marked classes.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to