[distcc] Knock, Knock, can distcc come out to play?
John Carter
john.carter at tait.co.nz
Sun Sep 11 22:03:13 GMT 2005
So I have set up a largish distcc farm.
The only problem is people leave the company, people join, they forget and
shutdown there PC's for the night, they have to reboot into Windows for
something, ...
So I added a bit to my groups build script that queries my web server and
asks who is in the farm currently.
On the web server side this is a ruby CGI script with a list of machines
on which I have installed distcc.
On invocation it checks to see if it's cache is fresh, if so, it returns a
list of IP addresses that are in the farm.
If the cache is older than say 5 minutes, it opens a TCPSocket to port
3632 (distcc) on every machine it it's list. If it succeeds, it
immediately closes it and decides that machine is in the farm.
To speed this up, I spawn a thread for every IP address so all this
happens in parallel. It takes about 3 seconds for 14 machines. (Timeouts
to dead machines are the limiting factor)
All this works well....
Until someone switches off his machine in the middle of someones elses
compile.
Then distcc-2.18.3 spews these error messages...
distcc[32359] (dcc_writex) ERROR: failed to write: No route to host
distcc[32359] (dcc_writex) ERROR: failed to write: Broken pipe
distcc[32359] (dcc_readx) ERROR: unexpected eof on fd148
distcc[32359] (dcc_r_token_int) ERROR: read failed while waiting for token
"DONE"
distcc[32359] Warning: failed to distribute
/home/johnc/.ccache/cpcvnw_Ini.tmp.parore.32340.i to 172.25.143.11,lzo,
running locally instead
It looks like from the last line that it handles the case correctly in any
case, ie. Drops 172.25.143.11 out of the farm and compiles that
particular instance "by hand" on the local machine.
The problem is it jabbers too much to stderr about it so the pretty
paranoid build script concludes it failed.
Is there anyway of just getting distcc to just quietly drop that IP out of
the farm and carry on without saying anything?
John Carter Phone : (64)(3) 358 6639
Tait Electronics Fax : (64)(3) 359 4632
PO Box 1645 Christchurch Email : john.carter at tait.co.nz
New Zealand
Carter's Clarification of Murphy's Law.
"Things only ever go right so that they may go more spectacularly wrong later."
>From this principle, all of life and physics may be deduced.
More information about the distcc
mailing list