[ 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)