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

Enis Soztutar commented on HBASE-15274:
---------------------------------------

bq.  hbase does chunking up of the row returning it to the client. Internal to 
the client though, it assembles a single result unless you ask to read the 
result piecemeal.
Agreed with Stack that we can commit this if it solves your use case. We are 
just asking whether your job can handle partial results. Without the client 
layer stitching back full Result objects, I think you will get multiple Result 
objects per row, and in the mapper, you will get multiple records with same row 
key. Not sure the MR layer can deal with this cleanly. 

> ClientSideRegionScanner's reaction to Scan#setBatch is not consistent between 
> HBase versions
> --------------------------------------------------------------------------------------------
>
>                 Key: HBASE-15274
>                 URL: https://issues.apache.org/jira/browse/HBASE-15274
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 1.0.3, 1.1.3, 0.98.17
>            Reporter: Youngjoon Kim
>            Assignee: Youngjoon Kim
>            Priority: Minor
>         Attachments: HBASE-15274-0.98.patch, HBASE-15274-branch-1.0.patch
>
>
> In 1.1.3, ClientSideRegionScanner calls RegionScannerImpl#next() with single 
> argument, so it honors Scan#setBatch(through defaultScannerContext in 
> RegionScannerImpl).
> {code}
> // 1.1.3
> public class ClientSideRegionScanner extends AbstractClientScanner {
>   ...
>   @Override
>   public Result next() throws IOException {
>     values.clear();
>     scanner.nextRaw(values);
>     ...
> {code}
>  
> \\
> But in 1.0.3 and 0.98.17, ClientSideRegionScanner calls 
> RegionScannerImpl#next() with limit=-1, so it ignores Scan#setBatch.
> {code}
> // 1.0.3 and 0.98.17
> public class ClientSideRegionScanner extends AbstractClientScanner {
>   ...
>   @Override
>   public Result next() throws IOException {
>     values.clear();
>     scanner.nextRaw(values, -1); // pass -1 as limit so that we see the whole 
> row.
>     ...
> {code}



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

Reply via email to