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