[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [jgit-dev] Ketch: multi-master replicated Git
- From: Luca Milanesio <luca.milanesio@xxxxxxxxx>
- Date: Wed, 13 Jan 2016 15:07:15 +0000
- Delivered-to: firstname.lastname@example.org
worth sharing on the repo-discuss mailing list as well :-)
Could then I use Git Ketch to manage the agreement process on pushes (as Cassandra gives me some headache with that) and still use another DFS implementation based on Git objects on Cassandra?
> On 13 Jan 2016, at 14:54, Shawn Pearce <spearce@xxxxxxxxxxx> wrote:
> Google is starting to contribute a new multi-master implementation,
> calling it Git Ketch. Changes are on the Eclipse Gerrit.
> What is Git Ketch?
> Git Ketch is a multi-master Git repository management system. Writes
> (such as git push) can be started on any server, at any time. Writes
> are successful only if a majority of participant servers agree.
> Acked writes are durable against server failure, due to a majority of
> the participants storing all required objects.
> Do I need DFS?
> No. We realized not everyone wants to run JGit DFS. Git Ketch is a
> higher-level, storage-agnostic service that can use both classical
> local file repositories, and DFS type repositories.
> Do I need JGit?
> Sort of.
> The Ketch Leader process running the consensus algorithm is currently
> implemented in Java, relying on JGit. However...
> Any Git repository served by Git >= 2.4.0 can act as a voting
> participant (the required feature is `git push --atomic`). The
> consensus algorithm runs on the Git wire protocol.
> Where's the rest?
> Google's prior multi-master implementation is 4 years old and heavily
> intertwined with internal source code. We are rewriting the
> multi-master logic and open sourcing as we go. We think this will make
> it easier for the JGit project to review and digest.
> Unfortunately, major portions are being rewritten from scratch, as
> there are segments deeply connected to our internal implementation of
> JGit DFS on Google Bigtable, or to our internal authentication and RPC
> protocols. None of that makes sense in the open source JGit project.
> So, the rest is Coming Soon(TM). We are working on it.
> You can help by providing feedback. :)
> Why is it called Git Ketch?
> Git Ketch is modeled on the Raft Consensus Algorithm. A ketch
> sailing vessel is faster and more nimble than a raft. It can also
> carry more source codes.
> Git Ketch front-loads replication costs, which we think vaguely
> resembles a ketch sailing vessel's distinguishing feature of the main
> mast on the front of the ship.
>  https://git.eclipse.org/r/64206
>  https://raft.github.io/
>  https://www.google.com/search?q=ketch&tbm=isch
>  https://www.google.com/search?q=raft&tbm=isch
> jgit-dev mailing list
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit