sunhelly commented on PR #4536: URL: https://github.com/apache/hbase/pull/4536#issuecomment-1445897558
> I'm still confused by what the problem is and how these changes fix it. I understand it has something to do with large rows and TTL, but the changes here aren't super obvious how they help The propose of this issue is to address the infinate loop in scan(compaction) caused by expired cells, as described in [HBASE-25709](https://issues.apache.org/jira/browse/HBASE-25709), since the `SKIP` in `InternalScanner#next(List<Cell> result, ScannerContext scannerContext)` prevents checking the limit of batch, which is the only limit checker in compaction scanner context. > I also am concerned about adding extra unnecessary comparisons in the hot code When the `matcher.currentRow()` is set to `null` by the `next()` steps cells, it will not brings extra comparisons. And it's also a common condition to enter `setToNewRow`. So I think moving the comparison from `StoreScanner` to `ScanQueryMatcher` is reasonable, WDYT? @bbeaudreault -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
