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

Chia-Ping Tsai commented on HBASE-19112:
----------------------------------------

bq. Why we should NOT expose the types put/delete/deleletFamily as Public? The 
concern is - "we want the type to be an Enum (DataType) and if we have getter 
in Cell, we will end up exposing other fake types like min/max"? The same for 
RawCell also right?
The root cause is that either {{DataType}} or {{KeyValue#Type}} is particular 
to how LSMs work. (see 
[dev|https://lists.apache.org/thread.html/44779d13271079411c4979bb888fc47d90a68f6558ecac3feb2feb37@%3Cdev.hbase.apache.org%3E]).
 The {{RawCell}} is designed to read all information from the cell impl and 
prevent cp user from modifying the cells we pass. As a result, having the 
getter for type in {{RawCell}} should be fine.

> 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