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

Jean-Marc Spaggiari commented on HBASE-9583:
--------------------------------------------

Some might want to take a look took because I'm neither native English, but 
here is my review:
{code}
Before HBASE-7845, while finalizing a data block (e.g. reach blocksize setting 
or close file), HBase picks up the start key of current data block as an index 
entry adding into the current leaf index block, however in some way, indexing 
on the stop key of previous data block can be treated as a better choice (see 
HBASE-5987 and HBASE-4443 for more details). It's not an easy thing to change 
this behavior without refactoring lots of low level codes. HBASE-7845 
implemented the getShortMidpointKey method which is similar with Leveldb's 
ByteWiseComparatorImpl::FindShortestSeparator() and FindShortSuccessor(). The 
core of getShortMidpointKey is to generate a "virtual" key bigger than the stop 
key of previous data block, and smaller or equal to the start key of the 
current data block. The gap between the stop key of previous data block and the 
"virtual" key is as small as possible. Also we make sure that the length of the 
"virtual" key is as small as possible. e.g. the stop key of previous block is 
"the quick brown fox", the start key of current block is "the who", then 
getShortMidpointKey can generate a "virtual" key like "the r" as the new index 
entry. It brings two benefits at least:1) Reduce the hfile data index size. 2) 
Avoid extra seeking to the previous data block request if the target key is in 
the range of ["virtual key","start key of current block"]
{code}
                
> add document for getShortMidpointKey
> ------------------------------------
>
>                 Key: HBASE-9583
>                 URL: https://issues.apache.org/jira/browse/HBASE-9583
>             Project: HBase
>          Issue Type: Task
>          Components: HFile
>    Affects Versions: 0.98.0
>            Reporter: Liang Xie
>            Assignee: Liang Xie
>         Attachments: HBase-9583.txt
>
>
> add the faked key to documentation http://hbase.apache.org/book.html#hfilev2

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to