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

Hudson commented on HBASE-18042:
--------------------------------

FAILURE: Integrated in Jenkins build HBase-Trunk_matrix #3086 (See 
[https://builds.apache.org/job/HBase-Trunk_matrix/3086/])
HBASE-18042 Client Compatibility breaks between versions 1.2 and 1.3 (zhangduo: 
rev 6846b03944d7e72301b825d4d118732c0ca65577)
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
* (add) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.java
* (edit) 
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestLeaseRenewal.java


> Client Compatibility breaks between versions 1.2 and 1.3
> --------------------------------------------------------
>
>                 Key: HBASE-18042
>                 URL: https://issues.apache.org/jira/browse/HBASE-18042
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver, scan
>    Affects Versions: 2.0.0, 1.4.0, 1.3.1
>            Reporter: Karan Mehta
>            Assignee: Duo Zhang
>            Priority: Critical
>             Fix For: 2.0.0, 1.4.0, 1.3.2
>
>         Attachments: HBASE-18042-branch-1.3.patch, 
> HBASE-18042-branch-1.3-v1.patch, HBASE-18042-branch-1.patch, 
> HBASE-18042-branch-1.patch, HBASE-18042-branch-1-v1.patch, 
> HBASE-18042-branch-1-v1.patch, HBASE-18042.patch, HBASE-18042-v1.patch, 
> HBASE-18042-v2.patch
>
>
> OpenTSDB uses AsyncHBase as its client, rather than using the traditional 
> HBase Client. From version 1.2 to 1.3, the {{ClientProtos}} have been 
> changed. Newer fields are added to {{ScanResponse}} proto.
> For a typical Scan request in 1.2, would require caller to make an 
> OpenScanner Request, GetNextRows Request and a CloseScanner Request, based on 
> {{more_rows}} boolean field in the {{ScanResponse}} proto.
> However, from 1.3, new parameter {{more_results_in_region}} was added, which 
> limits the results per region. Therefore the client has to now manage sending 
> all the requests for each region. Further more, if the results are exhausted 
> from a particular region, the {{ScanResponse}} will set 
> {{more_results_in_region}} to false, but {{more_results}} can still be true. 
> Whenever the former is set to false, the {{RegionScanner}} will also be 
> closed. 
> OpenTSDB makes an OpenScanner Request and receives all its results in the 
> first {{ScanResponse}} itself, thus creating a condition as described in 
> above paragraph. Since {{more_rows}} is true, it will proceed to send next 
> request at which point the {{RSRpcServices}} will throw 
> {{UnknownScannerException}}. The protobuf client compatibility is maintained 
> but expected behavior is modified.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to