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

Hudson commented on HBASE-18665:
--------------------------------

SUCCESS: Integrated in Jenkins build HBase-1.1-JDK8 #1991 (See 
[https://builds.apache.org/job/HBase-1.1-JDK8/1991/])
HBASE-18665 ReversedScannerCallable invokes getRegionLocations (tedyu: rev 
b8a5b13442d9079613221adc7ed84498bf19a3d7)
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCallerWithReadReplicas.java
* (delete) 
hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestReversedScannerCallable.java
* (edit) 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/ReversedScannerCallable.java


> ReversedScannerCallable invokes getRegionLocations incorrectly
> --------------------------------------------------------------
>
>                 Key: HBASE-18665
>                 URL: https://issues.apache.org/jira/browse/HBASE-18665
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 2.0.0, 3.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7, 1.1.13
>            Reporter: Peter Somogyi
>            Assignee: Peter Somogyi
>            Priority: Critical
>             Fix For: 3.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7, 2.0.0-alpha-3, 1.1.13
>
>         Attachments: 18665.master.003.patch, HBASE-18665.branch-1.003.patch, 
> HBASE-18665.branch-1.003.patch, HBASE-18665.branch-1.3.003.patch, 
> HBASE-18665.branch-1.3.004.patch, HBASE-18665.master.001.patch, 
> HBASE-18665.master.002.patch, HBASE-18665.master.003.patch, 
> HBASE-18665.master.003.patch
>
>
> The behavior of ReversedScannerCallable#prepare [1] and 
> ScannerCallable#prepare [2] methods differ how they call 
> RpcRetryingCallerWithReadReplicas.getRegionLocations method.
> The reversed scanner uses the 'reload' parameter directly as the first 
> argument - RpcRetryingCallerWithReadReplicas.getRegionLocations(reload, id, 
> getConnection(), getTableName(), getRow()) - however, the forward scanner 
> passes '!reload'. The getRegionLocations first parameter is 'useCache', the 
> way we use it in ScannerCallable is the correct one.
> The same call can be found in ReversedScannerCallable#locateRegionsInRange 
> [3] also without negating its value.
> [1] 
> https://github.com/apache/hbase/blob/master/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ReversedScannerCallable.java#L89-L90
> [2] 
> https://github.com/apache/hbase/blob/master/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java#L139-L140
> [3] 
> https://github.com/apache/hbase/blob/master/hbase-client/src/main/java/org/apache/hadoop/hbase/client/ReversedScannerCallable.java#L143-L144



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to