Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jgit-dev] Ketch: multi-master replicated Git



On Wed, Jan 13, 2016 at 4:07 PM, Luca Milanesio <luca.milanesio@xxxxxxxxx> wrote:
Hi Shawn,
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?
 
If I understood the announcement [1] correctly you can.

[1]
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.


Luca.

> 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[1].
>
>
> 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[2]. A ketch[3]
> sailing vessel is faster and more nimble than a raft[4]. 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.
>
>
> Footnotes
> ---------
> [1] https://git.eclipse.org/r/64206
> [2] https://raft.github.io/
> [3] https://www.google.com/search?q=ketch&tbm=isch
> [4] https://www.google.com/search?q=raft&tbm=isch
> _______________________________________________
> jgit-dev mailing list
> jgit-dev@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe from this list, visit
> https://dev.eclipse.org/mailman/listinfo/jgit-dev

--
--
To unsubscribe, email repo-discuss+unsubscribe@xxxxxxxxxxxxxxxx
More info at http://groups.google.com/group/repo-discuss?hl=en

---
You received this message because you are subscribed to the Google Groups "Repo and Gerrit Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to repo-discuss+unsubscribe@xxxxxxxxxxxxxxxx.
For more options, visit https://groups.google.com/d/optout.


Back to the top