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

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

Thanks Nicolas for taking a look. 
bq. This is scary. We're wild on catching here, and this denotes a design issue 
(may be an old one?)
We are cathing exception only raised by parse. The old design issue is that we 
have the tableNameOrRegionName nonsense passed as the argument here from 
HBaseAdmin. We are sending the table name to be parsed as regionName. I did not 
want to change the API there, since it is unrelated. 
bq. Are we sure that locateRegionInMeta will not return a location with a null 
serverName?
MetaCache CAN return HRL's with null serverNames with this patch. This won't 
happen from the results from meta. So locateRegionInMeta() call MIGHT return 
HRL's with null server names if it comes from cache. When we invalidate the 
cache entries from a server (on connection error for example), the cache then 
forgets about that replica, which means that we won't schedule backup RPC's to 
that replica at all. We can change the cache HRL nulling behavior as it is, but 
keep an int for max replicaId in the cache if you think that would be better 
design.  
bq. the condition is always true here
It is inside a while loop.
bq.  DoNotRetryIOException means "logic error" usually...
I see. If in everycase a DoNotRetryIOException, there is a logic error, I'll 
also rethrow this from primary without scheduling replicas. But you agree with 
the RetriesExhausted to be tried on every server no matter what, right ? 


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

Reply via email to