[Spread-users] "Machine names" in spread.conf

Jonathan Stanton jonathan at cnds.jhu.edu
Thu Jan 22 21:23:27 EST 2004

The problem identified in the October email you reference (and which was 
reported by others) was fixed in CVS so that the parser now requires that 
all machine 'names' in the spread.conf file must be less then the required 
size (which is MAX_PROC_NAME = 19 characters). So in the next release 
longer names will be rejected. 

That was the solution proposed by one of the people who had this problem, 
and made sense to me as the most "correct" option. However, given what you 
describe as common use below, this solution will cause you some problems 
as the users spread.conf will be rejected at startup. 

I see why they are doing what they are doing, but the name field was
really not intended to be a fully qualified host name, it was really meant
to just be a short daemon name that was not necessarily related to the
'unqualified' host name, but could be the same for simplified startup.

The other option I can think of is to _truncate_ the name provided in the 
spread.conf file to the length limit (19 char) and then use that. This 
will fix any crash issues, but will have the side effect of making the 
name that spread prints and uses not be the same as the name the users put 
in the file. It will also mean that names that are not unique in the first 
19 chars (like myveryveryveryverylongname1 and 
myveryveryveryverylongname2 ) will appear the same to Spread. They will 
have different IP addresses so I think it will work ok, but it will cause 
name conflicts if say user "joe" connects to both daemons as both will 
have private name "#joe#myveryveryveryveryl" which violates some 

In any of these cases, this reminds me I will have to check wether the 
duplicate names for daemons will be rejected or not. I think they will 
(and that is what should happen). 

Let me know what your thoughts are about this.



On Thu, Jan 22, 2004 at 07:16:42PM -0500, Tim Peters wrote:
> When configuring a Spread segment, and identifying a machine by both a name
> and an IP address:
> Spread_Segment {
>       x.y.z
> }
> is "the name" required to have any meaning apart from its use in
> spread.conf?  For example, is it required that gethostbyname("x.y.z") know
> about "x.y.z"?
> I haven't seen evidence that it's anything other than an arbitrary string of
> characters for Spread's internal use, but can't find any words to that
> effect.
> I ask because our users naturally tend to put names here like
>     ridiculously.long.path.theircompany.com
> and then we get into various kinds of trouble; e.g., see
> http://lists.spread.org/pipermail/spread-users/2003-October/001645.html
> In that specific case, "storage1" resolved to the same box outside of Spread
> too (gethostbyname("storage1") knew about it), so that we got away with
> using storage1 as the name there didn't really resolve the question being
> asked right now.

Jonathan R. Stanton         jonathan at cs.jhu.edu
Dept. of Computer Science   
Johns Hopkins University    

More information about the Spread-users mailing list