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

Heng Chen commented on HBASE-15267:
-----------------------------------

I think i found the reason why scan ingore inexistent row, but read got it.
As current logic, readRequestCount update by scan is different with get.  
Relates code like below:

{code: title=HRegion.java}
2731          if (!values.isEmpty()) {
                    final boolean partial = 
scannerContext.partialResultFormed();
                    Result r = Result.create(values, null, stale, partial);
                    lastBlock = addSize(context, r, lastBlock);
                    results.add(r);
                    i++;
                  }
                  .........
2786         region.updateReadRequestsCount(i);  
{code}

And "i" updated only when scan result is not empty.  

So it could explain why scan ignore the inexistent row.



> Read requests count metric is increased when Get operation does not return 
> any record
> -------------------------------------------------------------------------------------
>
>                 Key: HBASE-15267
>                 URL: https://issues.apache.org/jira/browse/HBASE-15267
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Eungsop Yoo
>            Priority: Minor
>         Attachments: HBASE-15267-v1.patch, HBASE-15267.patch
>
>
> Read requests count is increased when Get operation returns no record by 
> filtering out. In such cases, Get for deleted record, Get for TTL expired 
> record and Get for filtering out.
> So I fixed the bug and added some more test cases for read metrics.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to