> -----Original Message-----
> From: [email protected] [mailto:rsyslog-
> [email protected]] On Behalf Of [email protected]
> Sent: Tuesday, April 21, 2009 4:39 AM
> To: rsyslog-users
> Subject: Re: [rsyslog] multi-message handling and databases
> 
> On Mon, 20 Apr 2009, [email protected] wrote:
> 
> > On Mon, 20 Apr 2009, Rainer Gerhards wrote:
> >
> >>> -----Original Message-----
> >>> From: [email protected] [mailto:rsyslog-
> >>> [email protected]] On Behalf Of [email protected]
> >>>
> >>> On Mon, 20 Apr 2009, Rainer Gerhards wrote:
> >>>
> >>>>>
> >>>>> X=max_messages
> >>>>>
> >>>>> if (messages in queue)
> >>>>>    mark that it is going to process the next X messages
> >>>>>    grab the messages
> >>>>>    format them for output
> >>>>>    attempt to deliver the messages
> >>>>>    if (message delived sucessfully)
> >>>>>      mark messages in the queue as delivered
> >>>>>      X=max_messages (reset X in case it was reduced due to
> delivery
> >>>>> errors)
> >>>>>    else (delivering this batch failed, reset and try to deliver
> the
> >>>>> first half)
> >>>>
> >>>> I think, in our previous discussion (mailing list archive), we
> >>> concluded that
> >>>> there is no value in re-trying with half of the batch.
> >>>
> >>> very possibly, I'm not remembering it.
> >>>
> >>> not doing so will simplify the code considerably, but the
> advantages of
> >>> retrying with half the batch are:
> >>>
> >>> 1. you deliver as much as you can
> >>>
> >>> 2. when you finally get stuck, you can pinpoint directly what
> message
> >>> you
> >>> were stuck on (in case you have a failure based on the data, say
> quotes
> >>> in
> >>> something that then gets formatted into a database, or slashes in
> >>> something that becomes a filename component)
> >>>
> >>> your call
> >>
> >> I need to refer you back to our previous discussion. Unfortunately,
> it was
> >> private. I dug the link out and sent it via private mail. Sorry all
> others,
> >> please stand by a little moment. If I have not read it wrong, it
> boiled down
> >> to we have no non-transactional sources that were problematic and we
> had not
> >> identified cases where it would be useful to retry with fewer
> elements.
> >>
> >> I'd provide a more complete description, but that would probably
> take me
> >> another 2...4 hours, and I hope to get around (yes, it was a
> reeeaaaly long
> >> discussion). David, if you like to quote anything from me, feel free
> to do
> >> so.
> >
> > I'll dig through this today and tonight and review this
> >
> > to be clear, I'm mostly concerned about the debugging/troubleshooting
> > issues (which one of these 1000 messages made the database
> complain..).
> > but I guess this can be addressed by stopping rsyslog and restarting
> it
> > with a smaller batch size until you track it down. it should be rare
> > enough to make that tolerable.
> 
> looking back over the thread, I think a quick summary is that you
> believe
> that most output modules would not be able to do anything useful if
> they
> get an error in the middle of a set of messages. 

Yes

> I'm not sure that I
> agree, but I think it's a fairly easy thing to add later if you are
> wrong.
> so if you think it's a significant win to drop that for now, go ahead


Not yet sure - I think we need to do quite some more doc before actually
coding anything ;)
> 
> 
> my initial proposal was for the output module to return the number of
> records sucessfully written, so that those would not be retried. that
> definantly isn't possible with a string-based interface, so we then
> moved
> to 'retry with half' before the thread wound down.

I see the picture, but I am not yet sure if this turns out to be a problem.
It depends much on the not-yet-specified ways of error recovery.

Having said this, I think it is time to do a couple of documents. Most
importantly, I think we need to list the failure/error cases and see how we
can/need to handle them. This, I think, can lead us to the road of actual
implementation work. But you've probably noticed there is much to be written,
so let me relax a bit and think about where to start ;)

Rainer
> 
> David Lang
> 
> _______________________________________________
> 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

Reply via email to