[
https://issues.apache.org/jira/browse/HBASE-15879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15303163#comment-15303163
]
ramkrishna.s.vasudevan commented on HBASE-15879:
------------------------------------------------
bq.Shouldn't fact that a Key implementation is made of contiguous bytes be an
implementation detail?
The thought was to have something like a Key Interface. But as we are saying it
is always easy to form a Key from a given cell what ever is the format of the
Cell. The intention here was to say that some of the Cell impls are trying to
have its key in a continuous structure and let those cells have this interface.
Because once we say Key then it means indirectly every Cell is also a Key.
bq.public class KeyValue implements Cell, HeapSize, Cloneable,
SettableSequenceId, SettableTimestamp, Streamable, ContiguousKey {
Remove them as part of this JIRA? Not very sure. Streamable interface tries to
again make use of the fact that things that are contiguous can be written at a
single shot rather than splitting them and writing them. SettableSequenceId and
SettableTimeStamp can be merged is one thing that is possible.
> Introduce Key interface
> -----------------------
>
> Key: HBASE-15879
> URL: https://issues.apache.org/jira/browse/HBASE-15879
> Project: HBase
> Issue Type: Improvement
> Reporter: ramkrishna.s.vasudevan
> Assignee: ramkrishna.s.vasudevan
> Attachments: HBASE-15879.patch
>
>
> Introduce an interface called Key and allow Cell implementations to implement
> this Key interface for cases like KeyValue, OffheapKeyValue and DBE cells
> (Except prefix tree) so that we can avoid copies when we deal with only Cells
> in case of block index creations (like ROOT, Bloom etc). Helps in reduction
> of garbage also.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)