junegunn opened a new pull request, #8067: URL: https://github.com/apache/hbase/pull/8067
To fix regression caused by HBASE-27788. `StoreScanner` uses `InnerStoreCellComparator` which compares column families by length only. When a filter returns `SEEK_NEXT_USING_HINT` with a hint targeting a different CF, this comparison produces wrong results, causing the seek to be skipped and falling back to `heap.next()` for every cell. Fix by using `compareFamilies` (a final method on `CellComparatorImpl` that does proper byte comparison) before the full cell comparison. When the hint targets a different CF that sorts ahead, close the store scanner immediately since it has no data for the hint family. We close the scanner rather than seeking because `seekAsDirection` delegates to `KeyValueHeap.requestSeek` which also uses `InnerStoreCellComparator` internally, so the seek would fail there too. -- 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]
