It is Java (which I didn't write, so I don't know how it operates
exactly). I don't know if garbage collection is responsible for anything.
It only took several lines of rsyslog output to exibit pause scenario and
I'm not sure if garbage collection kicks in so fast.

Besides, I'm normally testing with sending SIGSTOP to the consumer
process, so it doesn't matter whether it's performing garbage collection
or not. After receiving SIGCONT it should start processing input, which it
cannot do if rsyslog doesn't send anything.

Everything works

George Bonser wrote:
> Just curious, is the program at the other end of the pipe a java program?  If 
> so, it might be going into "garbage collection" and becomes "deaf" during 
> that period.
> 
> George
> 
> 
> > -----Original Message-----
> > From: [email protected] [mailto:rsyslog-
> > [email protected]] On Behalf Of Dražen Kacar
> > Sent: Tuesday, November 16, 2010 6:34 AM
> > To: rsyslog-users
> > Subject: Re: [rsyslog] Huge pauses when writing to FIFO
> > 
> > Rainer Gerhards wrote:
> > 
> > > I think I forgot to mention an important condition: by default,
> > ompipe works
> > > in nonblocking mode. So you need to set it to blocking mode for the
> > action in
> > > question. This is done via
> > >
> > > $OMPipeBlockingMode on
> > 
> > I added that, just forgor to write it in the previous mail. The syntax
> > check passed ok and there are no errors generated from rsyslogd.
> > 
> > > in front of the action, like here:
> > > $OMPipeBlockingMode on
> > > local1.*  |/opt/foo/my_named_pipe
> > 
> > I still have 30 second sleep in select() and there is a number of
> > write()
> > calls to FIFO (checked with lsof) before that which fail with EAGAIN.
> > 
> > The output of "strace -f -e trace=file rsyslogd ..." shows:
> > 
> > 25169 open("/opt/bulb/var/rsyslog/to_parser",
> > O_RDWR|O_NONBLOCK|O_LARGEFILE) = 5
> > 
> > Then I negated the condition in preparePipe() to:
> > 
> >         if(!pData->bBlocking)
> >                 mode |= O_NONBLOCK;
> > 
> > and now strace doesn't show O_NONBLOCK and there is no sleep in
> > select().
> > I'll run more comprehensive tests just to be sure, but this looks ok.
> > 
> > > > I'm not aware of a repository with the newer autotools packages. I
> > > > didn't need them so far, so I wasn't looking.
> > >
> > > OK, thanks, so I probably need to dump the idea of working with a
> > "normal"
> > > git environment there and will developed based on a release tarball.
> > 
> > There is rpmfind.net which will probably find the packages you want,
> > maybe
> > even for a Linux distribution you want it for. But the quality of the
> > packages isn't always as good as it could be, so I tend to stay away
> > from
> > random sources for production systems. I'd try it for the development
> > purposes, which is what you need.
> > 
> > --
> >  .-.   .-.    Yes, I am an agent of Satan, but my duties are largely
> > (_  \ /  _)   ceremonial.
> >      |
> >      |        [email protected]
> > _______________________________________________
> > rsyslog mailing list
> > http://lists.adiscon.net/mailman/listinfo/rsyslog
> > http://www.rsyslog.com
> _______________________________________________
> rsyslog mailing list
> http://lists.adiscon.net/mailman/listinfo/rsyslog
> http://www.rsyslog.com

-- 
 .-.   .-.    Yes, I am an agent of Satan, but my duties are largely
(_  \ /  _)   ceremonial.
     |
     |        [email protected]
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com

Reply via email to