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