[ https://issues.apache.org/jira/browse/HBASE-5487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13789598#comment-13789598 ]
Sergey Shelukhin commented on HBASE-5487: ----------------------------------------- Wrt coprocs - that is bad imho, that is not the kind of modular that we want. Core parts of the system should depend on well-defined interfaces, not a generic extension points. Imho, the litmus test for coproc, as a plugin interface, is - can you run HBase without it? If yes, then it's ok to be a coproc (e.g. accesscontrol). Otherwise we should have proper interfaces that have some meaning to the caller. bq. Our master is only complex because of our use of zk to hold and mutate state. That is not due to ZK as such, that is due to multi-state-machine reconciliation model and truth in multiple places that it requires. System table can have exact same problem of state in the table + state in memory, question is how you split and manage state between them, storage substrate doesn't matter as much. If truth was in ZK and nowhere else that wouldn't be a problem, same way as with system table. Also, by reliable I meant that ZK is multiple nodes with built-in master recovery by design, whereas with master you need at least HA, and still it's probably worse than ZK in case of failure. There are also other things that I mentioned. bq. With the meta/system wal I think we can be within an order of magnitude. So, why would we write a bunch of new code to get "within an order of magnitude"? I don't see an advantage, or ZK disadvantage that you mention compared to multiple advantages of ZK. Esp. if we cannot totally get rid of it, so we'll have an extra service regardless. > 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 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)