[ https://issues.apache.org/jira/browse/HBASE-10701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13933004#comment-13933004 ]
Nicolas Liochon commented on HBASE-10701: ----------------------------------------- bq. So locateRegionInMeta() call MIGHT return HRL Hum, then we can have an issue here I think {code} private RegionLocations findDestLocation( TableName tableName, Row row, boolean checkPrimary) throws IOException { if (row == null) throw new IllegalArgumentException("#" + id + ", row cannot be null"); RegionLocations loc = hConnection.locateRegionAll(tableName, row.getRow()); if (loc == null || (checkPrimary && (loc.isEmpty() || loc.getDefaultRegionLocation() == null || loc.getDefaultRegionLocation().getServerName() == null))) { throw new IOException("#" + id + ", no location found, aborting submit for" + " tableName=" + tableName + " rowkey=" + Arrays.toString(row.getRow())); } return loc; } {code} The cache might return something with a null server name, w/o retrying to go to meta. The caller will get the exception, and will think "after a lot of retry we can't get the location, so we're bad, so we stop" I'm not totally sure I'm right, because we're not looking for the secondary replicas here. bq. It is inside a while loop. Not the first one for the main replica :-) bq. But you agree with the RetriesExhausted to be tried on every server no matter what, right ? It so extreme that I don't really know. I suppose that whatever you do it's going to be difficult at the end :-). I'm +1 whatever the final choice here. > 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 > > > 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)