Hi JY,
Thanks for the reply! OK, so it seems that I will proceed in the way I
outlined but will provide no default. This would make is compatible with the
way it works today.
Andy
----- Original Message -----
From: "Jean-Yves Nief" <[log in to unmask]>
To: <[log in to unmask]>
Cc: "Andy Hanushevsky" <[log in to unmask]>
Sent: Wednesday, May 04, 2005 6:21 AM
Subject: Re: Proposal to ease running multiple xrootd/olbd pairs on the same
machine
> hello Andy,
>
> Andy Hanushevsky wrote:
>
>> In our xrootd meeting today, we have determined that we need to change
>> the directory naming convention used by xrootd/olbd for administrative
>> files. Curently, the servers create files in /tmp to hold the process ID
>> (i.e., pid files). The xrootd has no problems because it always qualifies
>> it's pid file with it's port number. The olbd does not do so and so that
>> precludes running more than one server and supervisor olbd on the same
>> machine. The problem is worse for the olbd because it also creates
>> management files in /tmp/.olbd and these are not qualified as well. One
>> can get around these problems by explcitly specifying what the paths
>> should be for these files but that is a nuisance and something most
>> people forget until one or the other server can't start up.
>>
>> The xrootd pid file is not particularly important and, in fact, the
>> server goes on it's merry what even if it can't create the file. However,
>> it is useful when one want to figure out who is runniong what on the
>> machine.
>>
>> The olbd pid file is more important since it not only holds the process
>> id but also the local root prefix being used. This information is used by
>> external application to add or remove filename prefixes.
>>
>> So, we need to rethink how directories are named to avoid collisions. I
>> propose adding the "-n <name>" option to xrootd and olbd. The -n option
>> allows you to automatically add <name> as a top-level directory qualifier
>> to all directories used to create admin-type files. So, for instance,
>> "xrootd -n prod" would place the pid file in "/tmp/prod". while "olbd -n
>> prod" would place the pid file in "/tmp/prod" and the special files in
>> "/tmp/prod/.olbd".
>>
>> This introduces a major restriction: The xrootd/olbd pair *must* use the
>> same "-n" argument if they are running as a paired set of servers *and*
>> the xrootd/olbd *must* run using the same username.
>
> this solution is fne by me. The potential drawback that you mention above
> is not a real one according to me: it will force people to do things in a
> "clean" and coherent way and avoid confusion as well. The only thing that
> cannot be done is that one will not be able to run a common olbd for two
> xrootd servers running under two different user account: but I think this
> kind of situation should be unsual: if you run 2 different services, you
> will need also 2 olbd as there is a high probability that the config file
> is going to be different. On top of that, the olbd process are not greedy
> either in term of CPU and memory, so it is not a big deal.
>
>>
>> However, you will be able to start as many xrootd/olbd pairs as you wish
>> as long as each pair is assigned a different "name" using the "-n"
>> option.
>>
>> Now for the hard questions:
>>
>> a) Should there be a default name?
>> One proposal is to use the username as the default name. This introduces
>> a hidden depndency in that if you do not run the xrootd/olbd under the
>> same username, then it won't work at all. Whereas having no default
>> allows them to work if they can work at all. Another proposal is to use
>> the configuration file name as the default (well, atleat up to the dot in
>> the name). This makes sense once you read the next question.
>>
>> b) Should the name be able to be specified in the config file?
>> This makes sense in a way because it's likely that the that each name
>> will have a different configuration file because of connection
>> differences, let alone port number differences.
>
> I like the idea of having a "-n" option and also the possibility to
> specify it using a directive in the config file.
> as for the default name:
> I don't like having the username as the default name. We could be in the
> situation of running 2 services (ie 2 pairs of xrootd/olbd) on the same
> machine for the same experiment under the same account: for example, one
> "read only" service and one "write" service, or 2 services accessing
> different part of the HPSS name space (I have the example with BaBar,
> where I run a service for the CM2 files, the file name in the MSS such as
> /xrootd/store/.... and an other service where users can access their
> private ROOT files: /hpss/in2p3.fr/...., requiring different config
> settings and therefore different pairs of xrootd/olbd).
> At first glance, picking up the default file name from the config file
> name is a simple and nice solution: however in that case, it breaks in
> some sense the consistency in the way of configuring the server through
> the options given at runtime or the directives in the config files. I
> would prefer that everything stay under the control the config parameters,
> it will avoid confusion.
> So at the end, I would be prefer not to have some default name given by
> the user indirectly based on the userid or config file name. If no value
> is specified by the user explicitly ("-n" option, xrootd directive), then
> the value would be given by default by the application itself as it is
> already the case for most of the other xrd/olbd directives.
> is that OK ?
> cheers,
> JY
>
>>
>> Please let me know what you think of this arrangement. Feel free to
>> suggest other alternatives.
>>
>> Andy
>
>
>
|