[ https://issues.apache.org/jira/browse/HBASE-10625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13915396#comment-13915396 ]
Lars Hofhansl commented on HBASE-10625: --------------------------------------- Based on the last numbers, I'll close this as "Invalid". I found that sometimes it is even slower with this patch. I am not sure what I had measured yesterday evening (it's possible I still had a debugger attached to the RS process). > Remove unnecessary key compare from AbstractScannerV2.reseekTo > -------------------------------------------------------------- > > Key: HBASE-10625 > URL: https://issues.apache.org/jira/browse/HBASE-10625 > Project: HBase > Issue Type: Bug > Reporter: Lars Hofhansl > Attachments: 10625-0.94.txt, 10625-trunk.txt > > > In reseekTo we find this > {code} > ... > compared = compareKey(reader.getComparator(), key, offset, length); > if (compared < 1) { > // If the required key is less than or equal to current key, then > // don't do anything. > return compared; > } else { > ... > return loadBlockAndSeekToKey(this.block, this.nextIndexedKey, > false, key, offset, length, false); > ... > {code} > loadBlockAndSeekToKey already does the right thing when a we pass a key that > sorts before the current key. It's less efficient than this early check, but > in the vast (all?) cases we pass forward keys (as required by the reseek > contract). We're optimizing the wrong thing. > Scanning with the ExplicitColumnTracker is 20-30% faster. > (I tested with rows of 5 short KVs selected the 2nd and or 4th column) > I propose simply removing that check. -- This message was sent by Atlassian JIRA (v6.1.5#6160)