You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Mikhail Antonov (JIRA)" <ji...@apache.org> on 2014/07/04 10:51:34 UTC

[jira] [Updated] (HADOOP-10641) Introduce Coordination Engine

     [ https://issues.apache.org/jira/browse/HADOOP-10641?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mikhail Antonov updated HADOOP-10641:
-------------------------------------

    Attachment: hadoop-coordination.patch

Guys,

attached is improved version of the patch, with following changes:

 - ZkCoordinationEngine class is now not abstract, rather it relays agreement execution to registered AgreementHandler class (see below)
 - Added interface AgreementHandler<L> to control execution of the agreements learned by CoordinationEngine. This interface is parametrized with the type L of custom Learner class. Also added method to register handler into CoordinationEngine interface. SampleLearner class is added in tests as an example.
 - Improved handling of ZooKeeper 'Disconnected' event inside ZK-based reference implementation of Coordination engine, now in case zookeeper client gets disconnected from the ensemble, engine will pause and resume automatically when it re-connects to zookeeper.
 - Cleaned up ZkConfigKeys
 - Improved javadoc, refined pom.xml-s.
 - Moved exceptions and proposal classes to o.a.hadoop.coordination package, rather than subpackages of this package.

> Introduce Coordination Engine
> -----------------------------
>
>                 Key: HADOOP-10641
>                 URL: https://issues.apache.org/jira/browse/HADOOP-10641
>             Project: Hadoop Common
>          Issue Type: New Feature
>    Affects Versions: 3.0.0
>            Reporter: Konstantin Shvachko
>            Assignee: Plamen Jeliazkov
>         Attachments: HADOOP-10641.patch, HADOOP-10641.patch, HADOOP-10641.patch, hadoop-coordination.patch
>
>
> Coordination Engine (CE) is a system, which allows to agree on a sequence of events in a distributed system. In order to be reliable CE should be distributed by itself.
> Coordination Engine can be based on different algorithms (paxos, raft, 2PC, zab) and have different implementations, depending on use cases, reliability, availability, and performance requirements.
> CE should have a common API, so that it could serve as a pluggable component in different projects. The immediate beneficiaries are HDFS (HDFS-6469) and HBase (HBASE-10909).
> First implementation is proposed to be based on ZooKeeper.



--
This message was sent by Atlassian JIRA
(v6.2#6252)