[
https://issues.apache.org/jira/browse/HBASE-13193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14355486#comment-14355486
]
Jonathan Lawlor commented on HBASE-13193:
-----------------------------------------
Thanks for the quick review [~stack]
bq. check your formatting of the patch
Oh good point, addressed in next patch
bq. How does partialResults and partialResultRow relate?
partialResutRow is the row for which we are accumulating partial Results (i.e.
the common row that all partials came from). It's nice to keep it in this
member variable because it makes it easy to check whether or not a Result
belongs to that same row. To enforce consistency between partialResults and
partialResultRow I added the methods addToPartialResults() and
clearPartialResults(). Added some docs for these in next patch
> RegionScannerImpl filters should not be reset if a partial Result is returned
> -----------------------------------------------------------------------------
>
> Key: HBASE-13193
> URL: https://issues.apache.org/jira/browse/HBASE-13193
> Project: HBase
> Issue Type: Bug
> Reporter: Jonathan Lawlor
> Assignee: Jonathan Lawlor
> Attachments: HBASE-13193-v1.patch, HBASE-13193-v2.patch
>
>
> In RegionScannerImpl the filters get reset during calls to nextRaw:
> {code}
> public NextState nextRaw(List<Cell> outResults, int batchLimit, long
> remainingResultSize)
> throws IOException {
> ...
> resetFilters();
> if (isFilterDoneInternal()) {
> ...
> }
> {code}
> This creates a problem when returning partial Results because filters should
> only be reset in between rows (i.e. after all of the cells for a particular
> row have been returned). If a partial Result is returned, there are still
> cells in the row that have not been evaluated yet and we should avoid
> resetting the filter since it will wipe away all state information for that
> filter.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)