[
https://issues.apache.org/jira/browse/HBASE-12035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14143452#comment-14143452
]
Andrey Stepachev commented on HBASE-12035:
------------------------------------------
I think, that RS in general can act as throttle for client requests for slowly
changed info.
For this case what can be done:
1. RS can cache tableinfo and master can piggyback timestamp of last changes of
tableinfos into heartbeat.
2. RS can refresh cache if it thinks that cache is stale.
2. RS should proxy table info requests (so any RS can answer for table info
requests, and currently master is RS, so code can have different strategies,
set on construction, for master it resolves data from internal helpers like
TableStateManager, and for regular RS it will handle requests through cache by
calling real master).
Benefits from this solution:
1. no single point of temporal failure (master or RS holding 'tables' table)
2. RS can check for requests for disabled tables in many places (scans, gets,
coprocessors) locally, instead of going to master or zk
3. Cache can have a limited lifetime (even seconds), so risk of staleness is
very limited, and still gives great reduce in master/zk load.
4. ([~stack] that is about first connection) We can remove table checks from
client at all, RS would do that, thats limits connections to master/zk even
further
> Client does an RPC to master everytime a region is relocated
> ------------------------------------------------------------
>
> Key: HBASE-12035
> URL: https://issues.apache.org/jira/browse/HBASE-12035
> Project: HBase
> Issue Type: Improvement
> Reporter: Enis Soztutar
> Priority: Critical
> Fix For: 2.0.0
>
>
> HBASE-7767 moved table enabled|disabled state to be kept in hdfs instead of
> zookeeper. isTableDisabled() which is used in
> HConnectionImplementation.relocateRegion() now became a master RPC call
> rather than a zookeeper client call. Since we do relocateRegion() calls
> everytime we want to relocate a region (region moved, RS down, etc) this
> implies that when the master is down, the some of the clients for uncached
> regions will be affected.
> See HBASE-7767 and HBASE-11974 for some more background.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)