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

Enis Soztutar commented on HBASE-10701:
---------------------------------------

While testing this more, we've encountered some problems on the write side when 
region locations are changing (with region replicas) via the balancer. This was 
because we were not guaranteeing that HCI.locateRegionInMeta() will always 
return a result containing the HRL for the replicaId sent with the call. A 
simple fix to check whether the cached RegionLocations object contains that 
replicaId ensures that we do not return cached results and go to meta, if the 
location for asked replicaId is null in cache. Patch v4 fixes this. 
{code}
2014-03-19 12:57:49,532|beaver.machine|INFO|2014-03-19 12:57:49,529 ERROR 
HBaseWriterThread_24 client.AsyncProcess: Failed to get region location
2014-03-19 12:57:49,533|beaver.machine|INFO|java.io.IOException: #58, no 
location found, aborting submit for 
tableName=IntegrationTestTimeBoundedRequestsWithRegionReplicas rowkey=[48, 98, 
100, 52, 102, 48, 100, 51, 54, 50, 102, 101, 102, 48, 49, 48, 49, 53, 48, 54, 
102, 98, 98, 99, 99, 50, 97, 54, 100, 55, 50, 50, 45, 51, 56, 54, 51, 54, 57]
2014-03-19 12:57:49,533|beaver.machine|INFO|at 
org.apache.hadoop.hbase.client.AsyncProcess.findDestLocation(AsyncProcess.java:419)
2014-03-19 12:57:49,534|beaver.machine|INFO|at 
org.apache.hadoop.hbase.client.AsyncProcess.submit(AsyncProcess.java:341)
2014-03-19 12:57:49,534|beaver.machine|INFO|at 
org.apache.hadoop.hbase.client.AsyncProcess.submit(AsyncProcess.java:294)
2014-03-19 12:57:49,534|beaver.machine|INFO|at 
org.apache.hadoop.hbase.client.HTable.backgroundFlushCommits(HTable.java:1020)
2014-03-19 12:57:49,535|beaver.machine|INFO|at 
org.apache.hadoop.hbase.client.HTable.flushCommits(HTable.java:1294)
2014-03-19 12:57:49,535|beaver.machine|INFO|at 
org.apache.hadoop.hbase.client.HTable.put(HTable.java:955)
2014-03-19 12:57:49,535|beaver.machine|INFO|at 
org.apache.hadoop.hbase.util.MultiThreadedWriter$HBaseWriterThread.insert(MultiThreadedWriter.java:143)
2014-03-19 12:57:49,536|beaver.machine|INFO|at 
org.apache.hadoop.hbase.util.MultiThreadedWriter$HBaseWriterThread.run(MultiThreadedWriter.java:108)
{code}

> Cache invalidation improvements from client side
> ------------------------------------------------
>
>                 Key: HBASE-10701
>                 URL: https://issues.apache.org/jira/browse/HBASE-10701
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>             Fix For: hbase-10070
>
>         Attachments: hbase-10701_v1.patch, hbase-10701_v2.patch, 
> hbase-10701_v3.patch
>
>
> Running the integration test in HBASE-10572, and HBASE-10355, it seems that 
> we need some changes for cache invalidation of meta entries from the client 
> side in backup RPCs. 
> Mainly the RPC's made for replicas should not invalidate the cache for all 
> the replicas (for example on RegionMovedException, connection error etc). 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to