Michi Mutsuzaki created ZOOKEEPER-1931:
------------------------------------------

             Summary: 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


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