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
|