[ https://issues.apache.org/jira/browse/HBASE-12035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14290957#comment-14290957 ]
Enis Soztutar commented on HBASE-12035: --------------------------------------- Great. Thanks Andrey for pursuing this. bq. With this patch I introduce new column family to META. This family contains table information like state and htabledescriptor. Great. It is basically a table's table, but instead of kept fully inside meta. This reduces complexity in the assignment order between a meta table -> tables table and regular user regions, so I think it is good. bq. 1. I have wrapped TableDescriptors with MetaBackedTableDescriptors, that is simple proxy that intersepts all updates of descriptors and copy them to META after they been modified in hfds. bq. 2. Right after meta onlined master runs sync and updates META with information from hdfs. Here is still need to be added some fault tolerance, but basically that could work well (we don't remove master RPC for table states, we can use strict queries still if needed, so META here can be used with a sense of 'eventually' consistent data, because primary data stored in hdfs). I think it is not right to have two states kept in two places. This has caused us a lot of pain in the past for other things, and it will cause a lot of work to keep these in sync. Think about writing an hbck check for fixing the states if they ever go out of sync. I say we get rid of hdfs states, and do keep the only state in meta. bq. (sorry, was away, relocated to new country, had no time to do things) Good for you! > 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 > Components: Client, master > Affects Versions: 2.0.0 > Reporter: Enis Soztutar > Assignee: Andrey Stepachev > Priority: Critical > Fix For: 2.0.0 > > Attachments: HBASE-12035.patch, HBASE-12035.patch, HBASE-12035.patch > > > 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)