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

Nick Dimiduk commented on HBASE-5487:
-------------------------------------

I'm also a fan of Enis's list, particularly "AM should be understandable by 
simple human beings like myself."

The observation I'll add here is that AM and meta don't necessarily need to be 
collocated. What is necessary is that AM maintain a strongly consistent view of 
the world, at least from what I understand about the current design. That 
requirement can be relaxed iff there's an explicitly distributed state 
management system. Such a system is probably composed out of idempotent 
operations over CRDTs.

I also question the wisdom of moving away from ZK for management of active 
cluster state, primarily because in our current architecture, that component is 
completely out of band of data operations. Meaning, the activities which put 
stress on the configuration consensus bits are different from the operations 
that put stress on a data provider. (Yes, data activity results in region 
relocation, but that's a maintenance task, not direct involvement.) Moving to 
dependency on collocation unnecessarily conflates those two aspects of the 
system.

If the issues with Zookeeper originate from implementation details, why not fix 
implementation rather than look to a new architecture? For instance, the CoreOS 
folk have a little something called [etcd|https://github.com/coreos/etcd#etcd]. 
Raft specifically may not provide the correct kind of available consensus we 
need; the idea is to examine both the baby and the bathwater.

> 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)

Reply via email to