> -----Original Message----- > From: [email protected] [mailto:rsyslog- > [email protected]] On Behalf Of Marc Schiffbauer > Sent: Thursday, November 04, 2010 11:25 PM > To: rsyslog-users > Subject: Re: [rsyslog] One Queue for multiple Actions in 4.6.4? > > > I am not sure on the exact semantics of the 4.6.4 engine, but in any > > case you > > need to limit concurrency (and thus speed) as much as possible. If > you > > really > > need sequence, that means you need to run it on a single thread (with > > a > > direct mode main queue). The defaults look like they "preserve > > sequence", and > > you will see the inevitable out of sequence only when heavy traffic > > occurs. > > > > However, any approach to trying to "preserve sequence" will not work > > if > > looked at closely enough, so there is nothing that can be preseverd. > > Details > > are in my Linux Kongress paper: > > > > http://blog.gerhards.net/2010/10/linux-kongress-2010-rsyslog- > paper.html > > > > Thanks Rainer. Interesting. I read chapter 7 about concurrency > optimization. > > What I am looking for is indeed what is described there: preserved > timestamp > order. And this only with some restrictions: > * in time windows within few seconds or so > because those message will be processed with the need of > chronological order. > * only per system
Well, I don't intend to duplicate the paper content, but the point is that you can not "preserve" order, because as soon as there is a bit of concurrency involved, there is no strict order that you could preserve. At best, you have a partial order. > Of course there might be corner cases where this will not always work > but this > will then be only due to a system outage or something like that. Read on the scheduling order ;) > I am now going to try 5.6.0 with omruleset. I hope it will work > then. > > Are there any config options to control or affect timestamp ordering? no, that's external to rsyslog > In my case I guess it would be sufficient if only one thread would feed > the > database. so that's the route to take: make sure you set the queue to single worker, use direct queue mode for the output action (this is the default). There is no way, though, to guard against scheduler-based reordering e.g. of messages arriving at the "same time" both in imuxsock and imrelp. But if I understood you correctly, this is not an issue for you. Note that the default config should already work pretty well for your case, but be sure to explicitely limit the workers to one. Rainer > > TIA > -Marc > _______________________________________________ > 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

