Print

Print


Hi Andy again,

I have found that stupid thing. And it is magic end of line :))
Why it was not taken the particular line with supervisor is because the 
string "supervisor" in if statement had additional blank characters and 
I didn't see that.
Maybe it would be good to demark the statement in brackets to beware of it.

Sorry to spam you and thanks for help
Pavel

Pavel Jakl wrote:

> Hi Andy,
>
> I re-produced it again. As you could see from the olb log file:
>
> 060328 17:40:22 001 (c) 2005 SLAC olbd version 20060307-0546
>
> 060328 17:40:22 001 [log in to unmask] initilization 
> started.
>
> 060328 17:40:22 001 olb_Config: Role not specified; manager role assumed.
>
> 060328 17:40:22 19119 olb_Xeq: Performance monitor thread started
>
> 060328 17:40:22 19119 olb_Xeq: Refcount monitor thread started
>
> 060328 17:40:22 19119 olb_Xeq: Request Responder thread started
>
> 060328 17:40:22 19119 olb_Xeq: Request Timeout thread started
>
> 060328 17:40:22 19119 olb_Xeq: State monitor thread started
>
> 060328 17:40:22 001 [log in to unmask]:3121 manager 
> initialization completed.
>
> 060328 17:40:22 19119 olb_Xeq: Admin traffic thread started
>
> 060328 17:40:27 19119 olb_Admin_Login: Primary server 19060 logged in
>
> 060328 17:41:52 19119 olb_Xeq: Worker thread started
>
> 060328 17:41:52 19119 olb_Config: Service enabled.
>
> And please also see that this node has as instance name "supervisor" 
> and I have these lines in configuration file:
>
>        olb.role manager if named redirector
>
>        olb.role server if named dataserver
>
>        olb.role supervisor if named supervisor
>
>
> I am also sending the whole configuration file in attachement to be 
> sure that I didn't set something wrong that could replace or break 
> this confgiguration directive.
> I could not say the symptons, sorry.
>
> Pavel
>
>
> Andrew Hanushevsky wrote:
>
>> Hi Pavel,
>>
>> Could you give me the symptoms that made it appear to not work? The 
>> first
>> one should have worked. If it dod not, this is a bug and will be fixed.
>>
>> In any case, a supervisor node needs *both* 'ofs.redirect remote' *and*
>> 'ofs.redirect target' specified and it is subject to a redirection as 
>> well
>> as redirecting itself. Specifying only "remote" will not work in most
>> cases since the supervisor will not connect to the local olbd and off
>> failures will occur (this pointed out that the protocol spec was a bit
>> fuzzy on this, sigh).
>>
>> So, you should also have the line:
>>
>> ofs.redirect target if named supervisor
>>
>> Anyway, I will check on this.
>>
>> Andy
>>
>> P.S. I am in the process of simplifying the configuration which will 
>> make
>> the "redirect" statement superfluous (though upwardly acceptable).
>>
>> On Tue, 28 Mar 2006, pjakl wrote:
>>
>>  
>>
>>> Hi guys,
>>>
>>> I have deployed latest development version 20060307 and tried to
>>> simplify my config file using INSTANCE_NAME and if statement.
>>> I wrote this to the config file and for that particular node it 
>>> didn't work:
>>>
>>> if named dataserver
>>>    ofs.redirect target
>>> else
>>>    ofs.redirect remote
>>> fi
>>>
>>> If I did use like this, it did work:
>>>
>>> ofs.redirect target if named dataserver
>>> ofs.redirect remote if named redirector
>>> ofs.redirect remote if named supervisor
>>>
>>> (dataserver,redirector,supervisor) are INSTANCE_NAMES which I am 
>>> setting
>>> through command line argument -n.
>>>
>>> Do am I missing something ? like badly comprehend the if statement 
>>> syntax ?
>>> Thank for any advice
>>>
>>> Pavel
>>>
>>>   
>>
>
>------------------------------------------------------------------------
>
>#   !!!Removing this file is punished by death !!!      #	
>#							#
>#   This is a configuration file for XROOTD System      #
>#							#
>
>	#				#
>	#	XRD Daemon section	#
>	#				#
>
># it specifies protocol and * means that library is statically linked with daemon
>xrd.protocol xrootd *
>
># it specifies xrd port (in future will be 1094 for manager and any for dataservers)
>xrd.port 1095
>
># it specifies level of debuging
># --> normal mode
># xrd.trace all -debug -sched -poll -mem
># xrootd.trace all -debug -stall -mem
># --> debug mode, 2005/12
>xrd.trace conn net
>xrootd.trace login 
>
>	#				#
>	#    	 XROOTD Section		#  		
>	#				#
>
># here is loading the extended file system support for xrootd
>xrootd.fslib /star/u/starlib/ROOT/xrootd/lib/libXrdOfs.so
>
>#here is loading support of authentication
>xrootd.seclib /star/u/starlib/ROOT/xrootd/lib/libXrdSec.so
>
># specify a valid path prefix to file requests
>xrootd.export /data0
>xrootd.export /data1
>xrootd.export /data2
>xrootd.export /data3 
>xrootd.export /home
>
>	#				#
>	#	  OLB Section		#
>	#				#
>
># Restriction for hosts that subscribe to the olbd manager
>olb.allow host rcas*.rcf.bnl.gov
>
># Designate the port number to use for incoming requests from client (this is mandatory directive) 
>olb.port 3121
>
># Specify how load is computed and reported.
>olb.perf int 5m pgm /star/u/starlib/ROOT/xrootd/utils/XrdOlbMonPerf.pl 300
>
># Specify the parameters for the load balancing scheduling algorithm
>olb.sched cpu 20 io 40 mem 0 pag 10 runq 30 fuzz 10 refreset 43200
>
># Specify how server are selected for file creation
>olb.space linger 5 500m 100m
>
>
># Designate paths handle by server (r - read, s will be staging)
>
>olb.path r /data0
>olb.path r /data1
>olb.path r /data2
>olb.path r /data3
>olb.path r /home
># with s stage all files from HPSS that aren't on distributed disk
>#olb.path rs /home
>
>#Setup Manage Procesing latency
>#@see documentation
>
>olb.delay discard 5 drop 10s full 5 lookup 1  overload *
>olb.delay servers 90% service 60 startup 90 suspend 30 
>
>
>#Set the time file existence information is to be cached in memory
>#For testing ....
>#olb.fxhold 60s
>
># Tell server olbd's the location of the manager
>olb.subscribe xrdstar.rcf.bnl.gov 3121
>
># Indecate the role this server will have based on host name (default is server)
>olb.role manager if named redirector  
>olb.role server if named dataserver
>olb.role supervisor if named supervisor	  
>
>
>#Tell the odc component the location of the manager
>odc.manager xrdstar.rcf.bnl.gov 3121
>
># Tell level of event loging
>odc.trace all -debug 
>olb.trace all -debug
>
>	#				#
>	#    	OFS and OSS Section	#
>	#				#
>
>#
># Set redirect option using instance name (Supervisor must have both options)
>#
>ofs.redirect target if named dataserver 	
>ofs.redirect remote if named redirector 
>ofs.redirect remote if named supervisor
>ofs.redirect target if named supervisor
>
># Restrict access to files only for operation read
>oss.readonly
>
># Tell level of loging
>ofs.trace all -debug -aio -read -readdir -write
>oss.trace all -debug 
>
># Control the way a disk cache partition is selected for file placement
>oss.alloc * * 80
>
># Control file descriptor's allocating
>oss.fdlimit * max
>
># Specify whether or not to check that a file exists in HPSS
>oss.check
>
># Specify command to obtain data from HPSS
>oss.mssgwcmd /star/u/starlib/ROOT/xrootd/utils/hpss_talk.pl
>oss.stagecmd /star/u/starlib/ROOT/xrootd/utils/mps_Stage -F -c /star/u/starlib/ROOT/xrootd/config/configuration.cfg
>
># Restrict access to files only for operation read
>oss.readonly
>
># Specify processing options for any entry matching the specified path prefix
>oss.path /data0 
>oss.path /data1 
>oss.path /data2 
>oss.path /data3
>oss.path /home
>oss.localroot /home/starlib
>
># Specify the location of a disk cache partition
># PJ: Only wildcard would work here. Individual drive would not and crash
>#     xrootd.
>oss.cache rhstar /data*
>
># number of threads, for beginning take defaults
>oss.xfr 6 * 15 0
>
>	#				#
>	#	  MPS section		#
>	#				#
>
># Where error message go via mail, choose some user
>mps.adminuser starlib
>
># Specify path where will be placed symlinks
>mps.scan /home
>
># set level of debuging for all components (4 -additionally records internal debugging information) 
>mps.debug 4
>
># is the name of the file that is to hold error information
>mps.errlogfn /star/data08/logerr
>
># specify command for bringing the files from hpss 
>mps.stage.xfrcmd /star/u/starlib/ROOT/xrootd/utils/hpss_stage.pl %sfn %tfn
>
># specify names of log files for every components of MPS separately
>mps.stage.logfn /star/data08/stage_log
>
># Set the number of times a failing data transfer operation may be retried.
>mps.stage.max_retry 2
>
>#is the name or number of the Unix group that is to be used for newly created files
>mps.stage.cpgroup rhstar
>
>#is the command to be used to communicate with the Mass Storage System.
>mps.stage.msscmd /star/u/starlib/ROOT/xrootd/utils/hpss_talk.pl
>
>#the command to issue in order to obtain free space information about a file system.
>mps.stage._fs_stat /star/u/starlib/ROOT/xrootd/utils/fs_stat
>
># enable security only one nodes that holds data
>if named dataserver
>sec.protocol /star/u/starlib/ROOT/xrootd/lib pwd -a:0 
>fi
>