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

Peter Somogyi commented on HBASE-18665:
---------------------------------------

I think it can cause both.

Performance issue since it will try to relocate the region when we explicitly 
say don't force reload server location.
Correctness when want to force reload of server location but we end up using 
cached locations.

> 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
>
> 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.



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

Reply via email to