
继续看StoreScanner.next,这篇里将看到如何找到下一行数据。依然是一段巨长的代码,而且里面好多TODO是什么鬼?!
- 上来先这个StoreScanner先把自己锁了,方法的最后在把自己解锁。
@Override
public boolean next(List<Cell> outResult, ScannerContext scannerContext) throws IOException {
lock.lock();
try {
...
} finally {
lock.unlock();
}
}
- 从this.heap拿到一个值,并且把row key记录在matcher里。在这个Store有值的情况下,下一定能拿到值,在创建这个StoreScanner的时候,会根据设置的startRow,直接跳到这一行,从这一行开始,默认从文件第一行开始。
Cell cell =

本文深入探讨了HBase中StoreScanner的next方法,解释了如何找到下一行数据的过程。从StoreScanner获取值,使用ScanQueryMatcher判断操作结果,包括匹配row和column family、处理多版本Put和Delete的情况。文章详细阐述了StoreScanner逐级深入的扫描过程,从RegionScanner到StoreScanner再到StoreFileScanner,并重点关注了ScanQueryMatcher中的关键逻辑。
最低0.47元/天 解锁文章
1816

被折叠的 条评论
为什么被折叠?



