2012/3/16 Rainer Gerhards <[email protected]>: >> -----Original Message----- >> From: [email protected] [mailto:rsyslog- >> [email protected]] On Behalf Of Kaiwang Chen >> Sent: Thursday, March 15, 2012 1:59 PM >> To: rsyslog-users >> Subject: Re: [rsyslog] lots of queue files left in working directory >> >> 2012/3/13 Kaiwang Chen <[email protected]>: >> > 2012/3/13 Rainer Gerhards <[email protected]>: >> >> [snip] >> >>> Anyway, I will verify it. >> >> If your run 5.8.6, no need to verify as you are not affected. I will >> try to >> >> reproduce the issue with that version, but I will then probably need >> a debug >> >> log from you, as I tried yesterday and the problem disappeared once >> the fix >> >> went in. >> > >> > I found the disk queue index file (mq.qi in my ase) was lost, >> >> Actually this problem persists in 5.8.6 based code. Looks like the >> index of an action queue for MySQL, dbq.qi, never came into existance, >> with the following outcome: > > If I remember it correctly (loooong time since I wrote that code), the queue > info file by default is only written when necessary, which I think means on > shutdown only. This is done in order to save performance. HOWEVER, there is a > setting that permits you to specify how often (I think in number of messages > enqueued) the .qi should be written. If you set that to a sufficiently large > value, the performance impact should be minimal.
Oops, verified it's false alarm. > > I think the queue doc has this parameter: > http://www.rsyslog.com/doc/queues.html > > Search for "checkpoint" on that page. Yes, they're MainMsgQueueCheckpointInterval and ActionQueueCheckpointInterval . Thanks, Kaiwang > Rainer >> >> # ls -l /var/spool/rsyslog/ >> total 3248 >> -rw------- 1 root root 172437 Mar 15 19:42 dbq.00000037 >> -rw------- 1 root root 3125007 Mar 12 12:51 mq.00000787 >> -rw-r--r-- 1 root root 490 Mar 15 19:32 mq.qi >> >> # lsof -p `pgrep rsyslog` -nP |grep spool >> rsyslogd 7399 root 4w REG 8,1 3125007 186663427 >> /var/spool/rsyslog/mq.00000787 >> rsyslogd 7399 root 5r REG 8,1 3125007 186663427 >> /var/spool/rsyslog/mq.00000787 >> rsyslogd 7399 root 6r REG 8,1 3125007 186663427 >> /var/spool/rsyslog/mq.00000787 >> rsyslogd 7399 root 16w REG 8,1 172437 168096254 >> /var/spool/rsyslog/dbq.00000037 >> rsyslogd 7399 root 46r REG 8,1 172437 168096254 >> /var/spool/rsyslog/dbq.00000037 >> rsyslogd 7399 root 47r REG 8,1 172437 168096254 >> /var/spool/rsyslog/dbq.00000037 >> >> > as a >> > result qqueueTryLoadPersistedInfo() failed to detect the queue >> > files... >> > With full list of mq.<number>, is it possible to assemble the >> > corresponding index named mq.qi? Although the reason why it was >> > missing remains unknown, I'd better have the queue recovered. >> > >> >> >> >> Also thanks for your comments on the counters. I will review that >> part of the >> >> code. >> >> >> >> Rainer >> >> _______________________________________________ >> >> rsyslog mailing list >> >> http://lists.adiscon.net/mailman/listinfo/rsyslog >> >> http://www.rsyslog.com/professional-services/ >> > >> > Thanks, >> > Kaiwang >> >> Thanks, >> Kaiwang >> _______________________________________________ >> rsyslog mailing list >> http://lists.adiscon.net/mailman/listinfo/rsyslog >> http://www.rsyslog.com/professional-services/ > _______________________________________________ > rsyslog mailing list > http://lists.adiscon.net/mailman/listinfo/rsyslog > http://www.rsyslog.com/professional-services/ _______________________________________________ rsyslog mailing list http://lists.adiscon.net/mailman/listinfo/rsyslog http://www.rsyslog.com/professional-services/

