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

ramkrishna.s.vasudevan commented on HBASE-19112:
------------------------------------------------

Before I prepare a patch few doubts, 
Are we first going to add the necessary new APIs to RawCell/ExtendedCell and 
deprecate the other APIs in Cell ?
Say for eg : Mark @deprecated  for getTagsXXX and getSeqId in Cell and add 
corresponding APIs in ExtendedCell/RawCell. 
Let all the existing core code to still point to the 
cell.getTagXXX/cell.getSeqId only. Later in master lets clean all when we 
actually allow core to have RawCell/ExtendedCell flowing through?
Some reasons are like say if RawCell currently uses the PrivateCellUtil.getTags 
to retrieve the tags rather than each cell having an impl. Now if I need to 
really add the impl I need to make sure that the incoming cell is RawCell so 
that what ever impl is added we can make use of it directly in the code instead 
of typecasting. Currently we need to do ((RawCell)cell) every where. 
I found that getTagsLength is getting used through out the code than 
getTagsArray and getTagsOffset. So if getTagsLength moves to RawCell i need the 
typecast.
Similary getSequnceId has got lot of references too. So what can be the 
strategy for branch-2 and master now? Thoughts!!!

> 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
>
>
> [~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