hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-12112) Avoid KeyValueUtil#ensureKeyValue some more simple cases
Date Sat, 27 Sep 2014 04:33:33 GMT

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

Mime
View raw message