On Thu, 21 Apr 2016, Kane Kim wrote:

Thanks for great explanation, David, that really helped me to understand
this part. What I'm suggesting is essentially this (and please correct me
if I'm telling obviously stupid things):
1. Server tries to tell action1 to deliver messages (calling
EndTransaction) and has a loop here until it succeeds.

at some point you need to stop looping and give up for now and try again later. Especially if rsyslog exits and restarts (with a disk queue), you will need to process the entire batch again.

This is what I was saying when I said the retry logic is 'interesting' :-P

There is some balance between retrying at this point and giving up to potentially let a different worker thread try. I've seen cases where the receiver only allows X connections at once and the sender tries to use X+y connections, so you have y threads that will never succeed, but they can't know that. If they simply gave up and one of the X threads that is successfully connected were to try, the messages would get through.

the dirt simple approach is to try once and fail the entire batch if it can't. but that is probably not ideal.

2. Server tries to tell action2 to deliver messages (calling
EndTransaction) and has a loop here until it succeeds.
3. Queue is locked/marked delivered/unlocked.

As Rainer mentioned above that would lock only current queue where those
actions executed.

the queue is not locked for steps 1 and 2, only for step 0 (start batch) and step 3 (mark batch as done either succeeded/failed)

David Lang

_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.

_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.

Reply via email to