[ 
https://issues.apache.org/jira/browse/HBASE-26239?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17407062#comment-17407062
 ] 

Duo Zhang commented on HBASE-26239:
-----------------------------------

The 'returnImmediately' here just means return from the scan rpc call this 
time, if we still have more data, the client should issue new scan request to 
region server.

{quote}
Without the "scan.setFilter(filterList);" in row 72, I can get the correct 
result. 
{quote}

No matter whether we have a Filter, the switch from PREAD to STREAM will always 
happen, so I think this means the problem is not because of the switch? What is 
the client hbase version do you use, i.e, the one you set as dependency in your 
pom file?

Thanks.

> Return incorrect result for a scan rpc call when readType switch from pread 
> to stream
> -------------------------------------------------------------------------------------
>
>                 Key: HBASE-26239
>                 URL: https://issues.apache.org/jira/browse/HBASE-26239
>             Project: HBase
>          Issue Type: Bug
>          Components: scan, Scanners
>            Reporter: Yuefeng Wang
>            Priority: Major
>         Attachments: ClientScanTest.java, image-2021-08-31-10-16-37-417.png
>
>
> Scan's default readType is PREAD, and there is a readType transform from 
> PREAD to STREAM when a long scan is executed. E.G. I ask for result of 'count 
> table', and now it will return immediately before the RPC get real data 
> because of this transform, so the result returned maybe incorrect. Although, 
> we can explicitly use STREAM instead of PREAD to avoid this transform. I am 
> still confused, how can we judge whether transform is called? How can I trust 
> my result is real when we allow transform occur?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to