[ https://issues.apache.org/jira/browse/HBASE-9915?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13835591#comment-13835591 ]
Hudson commented on HBASE-9915: ------------------------------- SUCCESS: Integrated in hbase-0.96-hadoop2 #137 (See [https://builds.apache.org/job/hbase-0.96-hadoop2/137/]) HBASE-10058 Test for HBASE-9915 (avoid reading index blocks) (larsh: rev 1546660) * /hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestBlocksScanned.java > Performance: isSeeked() in EncodedScannerV2 always returns false > ---------------------------------------------------------------- > > Key: HBASE-9915 > URL: https://issues.apache.org/jira/browse/HBASE-9915 > Project: HBase > Issue Type: Bug > Components: Scanners > Reporter: Lars Hofhansl > Assignee: Lars Hofhansl > Labels: performance > Fix For: 0.98.0, 0.96.1, 0.94.14 > > Attachments: 9915-0.94.txt, 9915-trunk-v2.txt, 9915-trunk-v2.txt, > 9915-trunk.txt, profile.png > > > While debugging why reseek is so slow I found that it is quite broken for > encoded scanners. > The problem is this: > AbstractScannerV2.reseekTo(...) calls isSeeked() to check whether scanner was > seeked or not. If it was it checks whether the KV we want to seek to is in > the current block, if not it always consults the index blocks again. > isSeeked checks the blockBuffer member, which is not used by EncodedScannerV2 > and thus always returns false, which in turns causes an index lookup for each > reseek. -- This message was sent by Atlassian JIRA (v6.1#6144)