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 > > >