[
https://issues.apache.org/jira/browse/HBASE-5487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13799465#comment-13799465
]
Devaraj Das commented on HBASE-5487:
------------------------------------
Quick comments:
1. "Master knows of all external updates to the system store" - Are there such
updates happening without master's knowledge
2. I presume once the client is told an operation is accepted, it would be
saved/queued somewhere so even if a different node picks up the master's
duties, it can execute the operation. Related to that is that the master should
be able to get back with the correct return code for the operation even in the
case of fail-overs. Also, the "master" could have triggered some operations
like shutdown handling that should be completed.
3. I think we should support asynchronous operations (submit an operation and
check periodically or something). There is no guarantee when a certain
operation will complete especially when the operation requires co-ordination
with other nodes and/or the node is falling behind in executing operations. We
shouldn't force the model to be synchronous (we do not want to hold up precious
node resources which we will in synchronous mode).
4. Maybe, we should explicitly state handling cases where the "master" sends a
region operation to a regionserver and the regionserver doesn't get back within
some timeout, as one of the requirements. Fencing the regionserver etc are the
possible actions when this happens.
5. Should we fail-fast on the client side in case of conflicts? For example, if
a client issued "drop table" and this operation is in progress. Another client
comes in and says "create table" with the same name. We should allow clients to
read the store without going through the "master".
6. Wondering whether we need to differentiate priorities/ordering/etc. for
operations like "move region" initiated by the master/balancer versus initiated
by the user. Who wins, etc. These operations are "advanced" and won't be
commonplace but worth calling it out?
> 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
> Assignee: Sergey Shelukhin
> Priority: Critical
> Attachments: Entity management in Master - part 1.pdf, 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)