monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] Re: RFE: Hard Barrier Between Branches in Netsync


From: Nathaniel Smith
Subject: Re: [Monotone-devel] Re: RFE: Hard Barrier Between Branches in Netsync
Date: Fri, 2 Mar 2007 13:49:04 -0800
User-agent: Mutt/1.5.13 (2006-08-11)

On Fri, Mar 02, 2007 at 02:48:08PM +0100, Thomas Moschny wrote:
> This doesn't solve the netsync problem: You can always have that situation 
> where a revisions carries a certain brand cert, but some of its ancestors 
> don't, and you will end up retransmitting these ancestors again and again, 
> given the way netsync (for revisions) currently works.

Err, actually, we don't have this problem now.  You might send them by
accident once, but that's all -- the actual algorithm for what goes in
the merkle trie is:
  -- first find all the branch certs that match the pattern
  -- then find all the revisions that those branch certs are on
  -- then tromp all over history to find all _ancestors_ of all of
     those revisions
  -- then find all the certs that are on all of _those_ revisions
Both sides do this, so even if there are some revisions that do not
match the pattern, so long as both sides know that one of their
descendents matches the pattern, both sides will include that revision
in their merkle trie, and it will not be resent.  It's complex and
annoying, but it does work okay.

-- Nathaniel

-- 
So let us espouse a less contested notion of truth and falsehood, even
if it is philosophically debatable (if we listen to philosophers, we
must debate everything, and there would be no end to the discussion).
  -- Serendipities, Umberto Eco




reply via email to

[Prev in Thread] Current Thread [Next in Thread]