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

Gary Helmling commented on HBASE-16025:
---------------------------------------

If you mean caching for only the lifetime of the request, I think that would 
still lead to a lot of request amplification against meta.  It would still mean 
a single additional request to meta anytime any request to any region in the 
cluster needs to be retried.

I think we need to aggressively cache table state for the lifetime of the 
client and only clear it when we encounter certain exception types, ie. 
NotServingRegionException.

> Cache table state to reduce load on META
> ----------------------------------------
>
>                 Key: HBASE-16025
>                 URL: https://issues.apache.org/jira/browse/HBASE-16025
>             Project: HBase
>          Issue Type: Improvement
>          Components: Client
>            Reporter: Gary Helmling
>            Assignee: Gary Helmling
>            Priority: Critical
>             Fix For: 2.0.0
>
>
> HBASE-12035 moved keeping table enabled/disabled state from ZooKeeper into 
> hbase:meta.  When we retry operations on the client, we check table state in 
> order to return a specific message if the table is disabled.  This means that 
> in master we will be going back to meta for every retry, even if a region's 
> location has not changed.  This is going to cause performance issues when a 
> cluster is already loaded, ie. in cases where regionservers may be returning 
> CallQueueTooBigException.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to