[
https://issues.apache.org/jira/browse/HBASE-15484?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15228425#comment-15228425
]
Phil Yang commented on HBASE-15484:
-----------------------------------
I find a corner case that if we setAllowPartialResults(true) and use a sparse
filter. We may receive a heartbeat with some cells, and we will load them to
cache and the Result.isPartial() return true. But next rpc may return cells in
next row because the rest cells of previous row are all skipped. So the last
Result of a row may still be partial. I think it is acceptable but we need
change the definition of isPartial().
New definition may be:
Whether or not this result from scanner is a partial result.
The result will never be partial unless use Scan#setAllowPartialResults(true)
while scanning. If allowing partial results, the result will still not be
partial if ClientScanner is sure that the Result is the last one of this row.
Otherwise the result will be partial if the number of cells in this result is
less than expected, which means less than batch size (if setBatch) or not a
complete row (if not setBatch).
> Correct the semantic of batch and partial
> -----------------------------------------
>
> Key: HBASE-15484
> URL: https://issues.apache.org/jira/browse/HBASE-15484
> Project: HBase
> Issue Type: Bug
> Affects Versions: 1.2.0, 1.1.3
> Reporter: Phil Yang
> Assignee: Phil Yang
> Attachments: HBASE-15484-v1.patch, HBASE-15484-v2.patch,
> HBASE-15484-v3.patch
>
>
> Follow-up to HBASE-15325, as discussed, the meaning of setBatch and
> setAllowPartialResults should not be same. We should not regard setBatch as
> setAllowPartialResults.
> And isPartial should be define accurately.
> (Considering getBatch==MaxInt if we don't setBatch.) If
> result.rawcells.length<scan.getBatch && result is not the last part of this
> row, isPartial==true, otherwise isPartial == false. So if user don't
> setAllowPartialResults(true), isPartial should always be false.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)