[ https://issues.apache.org/jira/browse/HBASE-9915?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lars Hofhansl updated HBASE-9915: --------------------------------- Summary: Performance: isSeeked() in EncodedScannerV2 always returns false (was: Severe performance bug: isSeeked() in EncodedScannerV2 is always false) > Performance: isSeeked() in EncodedScannerV2 always returns false > ---------------------------------------------------------------- > > Key: HBASE-9915 > URL: https://issues.apache.org/jira/browse/HBASE-9915 > Project: HBase > Issue Type: Bug > Reporter: Lars Hofhansl > Assignee: Lars Hofhansl > 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)