[ https://issues.apache.org/jira/browse/HBASE-5487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13797043#comment-13797043 ]
Sergey Shelukhin commented on HBASE-5487: ----------------------------------------- I don't think it can happen on create. Until all regions are moved to Closed state after being created (atomically via multi-row tx), table won't leave Creating state. If there's failover all regions are erased and created from scratch. Create table is rare enough for that to work. [~enis] Wrt req list, mostly agree, however: bq. Bulk region operations Can you please elaborate? Is it the same as modifying several regions' state under multi-row lock? bq. Region operations should be isolated from [snip] table operations (disabling / disabled table, schema changes, etc) and cluster shutdown. AM [snip] should NEVER know about table state (disable/disabling). Strongly disagree with this. If we are doing bunch of balancing and user disables a table at the same time, we have to handle it. If user tries to force-assign regions of a table that is halfway thru create, we have to handle this. For alter, we need to reopen regions, which will have to work w/splits and merges (it's covered in my doc). For what purpose do you want to isolate them? AM should not know about details e.g. schema logic, but it should know about logistics. bq. No master abort when a region’s state cannot be determined. This results in support cases where master cannot start, and without master things become even worse. We should “quarantine” the regions if needed absolutely. That is dangerous. IIRC in my spec I only put master abort if somebody changes table state under master; but in general, if region is in unknown state it's better to make admin act, than to just silently "disappear" part of data - that can lead to wrong results. Perhaps table needs to be quaranteened then. > Generic framework for Master-coordinated tasks > ---------------------------------------------- > > Key: HBASE-5487 > URL: https://issues.apache.org/jira/browse/HBASE-5487 > Project: HBase > Issue Type: New Feature > Components: master, regionserver, Zookeeper > Affects Versions: 0.94.0 > Reporter: Mubarak Seyed > Priority: Critical > Attachments: Region management in Master5.docx, Region management in > Master.pdf > > > Need a framework to execute master-coordinated tasks in a fault-tolerant > manner. > Master-coordinated tasks such as online-scheme change and delete-range > (deleting region(s) based on start/end key) can make use of this framework. > The advantages of framework are > 1. Eliminate repeated code in Master, ZooKeeper tracker and Region-server for > master-coordinated tasks > 2. Ability to abstract the common functions across Master -> ZK and RS -> ZK > 3. Easy to plugin new master-coordinated tasks without adding code to core > components -- This message was sent by Atlassian JIRA (v6.1#6144)