[distcc] Re: Bug#214621: distcc: better handling for round-robin DNS

Martin Pool mbp at samba.org
Mon Oct 13 07:23:07 GMT 2003


On  8 Oct 2003, Zygo Blaxell <zblaxell at genki.hungrycats.org> wrote:
> On Wed, Oct 08, 2003 at 12:32:42PM +1000, Martin Pool wrote:
> > On  7 Oct 2003, Zygo Blaxell <zblaxell at genki.hungrycats.org> wrote:
> > > 2.  Locking, backoff, and scheduling should be done by IP address.
> > > Currently if any single volunteer fails, distcc will drop all of the
> > > IP addresses associated with the name.
> 
> Actually I now realize the above is wrong, it should only be the backoff
> that uses the IP.  Scheduling and locking should be done using just
> the names...
> 

> > A fair number of machines have multiple A entries because they have
> > multiple network interfaces.  (In particular, I use one such in my
> > build farm.)  We wouldn't want them to get twice as many jobs, or to
> > interfere with sending the jobs over the best interface.
> 
> ...and this is why.

Oh, ok.  That makes more sense.

What happens when localhost's real name is listed in the alias?  That
would cause us to send jobs over the loopback interface, which is a
bit inefficient.

> Well, that, and the fact that I actually want only a subset of each
> rr dns record to be used by any given client, as this tends to
> result in better load balancing when there are very fast machines at
> the head of the list.

> Certainly the error-reporting wish still holds even (especially)
> in this case.  One of the interfaces may be down, or a user might
> be unintentionally using a multi-homed host's name instead of an
> interface-specific alias, and wondering why it only works once or twice
> until it hits an unreachable IP address and puts the DNS name into
> backoff mode.

OK.

> > If this is going to be stored in DNS, then using something like the
> > SRV record would be a better solution.  I don't see any way in which
> > SRV is worse than A, and it avoids overloading the mechanism.
> 
> I don't see any way in which SRV is better than A, or for that matter
> _different_ than A.  In either case I'm putting a bunch of rr aliases
> in DNS, but with SRV I need to add client- and server-side support that
> I didn't need with A.  I'd also still need diagnostics from distcc that
> tell me which machine (by IP:port) I have to fix if a distcc volunteer
> breaks.
> 
> > Alternatively I can just be lazy and suggest that you fetch
> > /etc/distcc/hosts over HTTP, rsync or some similar mechanism.
> 
> The volunteers list is a function of project (pre- or post- gcc-2.95)
> and architecture (x86 or not) and priority of the current work (urgent
> or not--does it take up the few fast machines or the many slow ones).
> I wouldn't be using RR DNS if I didn't think it was the best approach.

-- 
Martin 



More information about the distcc mailing list