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

stack commented on HBASE-12112:
-------------------------------

Can we avoid creating iterator here?

              for (Cell cell : rs.rawCells()) {

This thing is kinda crazy cellToStringMap (Its not you, you are just replacing 
what was there). Is that necessary?

I don't get getFlatKey even now.  It is just the key part serialized as kv?  
Should it be in CellUtil?  Can we give it better name? Should we even be doing 
this getFlatKey serialization?  Are we perpetuating the old KV serialization 
surrepticiously here?  Shall we call it getKey?  Should we make a new object 
Key that has the Key stuff from Cell in it?

ClonedSeekerState is serializing same way KV did?  that is why the heapsize 
calc works?

In CellComparator is there something that does the below?  If not, should we 
add it?

                int result = Bytes.compareTo(cell.getRowArray(), 
cell.getRowOffset(), cell.getRowLength(),
316                 row, 0, row.length);


CellComparator I'm pretty sure has means of comparing two Cells.

        if (Bytes.compareTo(pCell.getRowArray(), pCell.getRowOffset(), 
pCell.getRowLength(),
347                 cell.getRowArray(), cell.getRowOffset(), 
cell.getRowLength()) > 0) {

Very nice cleanup.




> Avoid KeyValueUtil#ensureKeyValue some more simple cases
> --------------------------------------------------------
>
>                 Key: HBASE-12112
>                 URL: https://issues.apache.org/jira/browse/HBASE-12112
>             Project: HBase
>          Issue Type: Sub-task
>          Components: regionserver
>            Reporter: Anoop Sam John
>            Assignee: Anoop Sam John
>             Fix For: 2.0.0, 0.99.1
>
>         Attachments: HBASE-12112.patch
>
>
> This include fixes with
> - Replace KeyValue#heapSize() with CellUtil#estimatedHeapSizeOf(Cell)
> - Printing the key portion of a cell (rk+cf+q+ts+type). These are in 
> Exception messages
> - HFilePrettyPrinter - Avoiding ensureKeyValue() calls and calls to 
> cell#getxxx() which involves bytes copying. This is not a hot area still we 
> can avoid as much usage of deprecated methods as possible in core code. I 
> believe these bytes copying methods are used in many other parts and later we 
> can try fixing those as per area importance
> - Creating CellUtil#createKeyOnlyCell and using that in KeyOnlyFilter



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to