[ https://issues.apache.org/jira/browse/HBASE-18665?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Peter Somogyi updated HBASE-18665: ---------------------------------- Status: Patch Available (was: Open) > 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 > Attachments: HBASE-18665.master.001.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)