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

Michi Mutsuzaki reassigned ZOOKEEPER-1931:
------------------------------------------

    Assignee: Michi Mutsuzaki

> intern project idea: decouple zab from zookeeper
> ------------------------------------------------
>
>                 Key: ZOOKEEPER-1931
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1931
>             Project: ZooKeeper
>          Issue Type: New Feature
>            Reporter: Michi Mutsuzaki
>            Assignee: Michi Mutsuzaki
>
> The goal of this project is to define an interface for replication protocol 
> and implement the interface using ZAB. This project will most likely be done 
> outside of ZooKeeper to avoid impacting the stability of the ZooKeeper code 
> base, but I'm opening a JIRA here to gauge interest and get feedback from 
> ZooKeeper community.
> There are 2 main motivations for this project:
> 1. There are many use cases that need a replication protocol like ZAB, but 
> ZooKeeper's hierarchical data model doesn't work well. It's difficult to use 
> ZAB without ZooKeeper with the way ZooKeeper code is currently structured.
> 2. It's valuable to have a common interface for replication protocol to build 
> services on. This allows you to plug in different implementations for 
> benchmarking and testing for correctness. This point is related to 
> ZOOKEEPER-30.
> The project is roughly broken into 4 pieces:
> 1. Define the interface for replication protocol. It's very important to get 
> the interface right. I'd appreciate if you guys can help define the interface.
> 2. Implement the interface with single node ZAB.
> 3. Implement a simple reference service, something like a key-value store or 
> a benchmark tool.
> 4. Implement ZAB, either from scratch or by refactoring / curving off 
> unnecessary parts from the ZooKeeper code base.
> I have some questions:
> - How do things like session tracker and dynamic reconfiguration fit into 
> this? Should they be separate optional interfaces?
> - Where should this project belong to? Is it worth making this an incubator 
> project, or should I just put the code on github? I'd like to make it easy 
> for people from different organizations to collaborate (in terms of license 
> grant and all) from the beginning.



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

Reply via email to