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]

Reply via email to