Print

Print


Is anybody successfully running xrootd on RHEL?  If so, what workaround 
are you using for XrdOlbMonPerf?

For those not familiar with the problem:

Due to a fascinating design choice by Red Hat, the output to a pipe 
from "netstat -c -i 60" is fully buffered instead of line buffered 
(even unbuffered would have been okay). So there is no output for about 
15-20 minutes, (sometimes longer). This breaks XrdOlbMonPerf.

The next problem I see is in the olbd log:

041013 02:08:15 18062 olb_Server: Logged into foo.lns.cornell.edu
041013 02:19:00 18062 olb_Meter: Perf monitor returned invalid output:
041013 02:19:30 18062 olb_Meter: Restarting monitor: 
/home/gregor/xrootd.inst/etc/XrdOlbMonPerf

It is far from clear why it is getting no output. I didn't spot a 
timeout anywhere in the stream code but it doesn't wait for the 
output... and of course, restarting XrdOlbMonPerf means that I never 
get any output because it always takes too long for the netstat started 
by XrdOlbMonPerf to produce anything.

To add insult to injury, the netstat processes rarely die (even though 
their parent XrdOlbMonPerf is gone) and so the netstats quietly fill up 
the proc table.

It is clear that not restarting the monitor won't help. If I just wait 
until data does appear, then I wait 20 minutes and the first thing I 
read is 20 minutes out of date, and then I will get a stream of data 
reports, 1 per second until the pipe is empty and then I wait another 
20 minutes.

--
Gregory J. Sharp                   email: [log in to unmask]
Wilson Synchrotron Laboratory      url: 
http://www.lepp.cornell.edu/~gregor
Dryden Rd                          ph:  +1 607 255 4882
Ithaca, NY 14853                   fax: +1 607 255 8062