I think I found what happend. Quick looks says this bug has the fix: http://bugzilla.adiscon.com/show_bug.cgi?id=443
As it looks, I forgot to merge when I closed it due to no-feedback. Will look at it again soon, but you could probably just apply the patch ;) Rainer On Sat, Nov 2, 2013 at 12:04 PM, Rainer Gerhards <[email protected]>wrote: > > On Sat, Nov 2, 2013 at 12:02 PM, Pavel Levshin <[email protected]>wrote: > >> >> This is not true for current master. It is here, as I suspect: >> > > ok, thx, will put it to the todo list. Note that I remember a fix for this > problem just a couple of weeks ago. > > Reminder: right now, I use my free time for refactoring the engine, will > not do anything else except real emergencies -- otherwise I won't get > through with that work. > > Rainer > >> >> static rsRetVal >> scriptExec(struct cnfstmt *root, batch_t *pBatch, sbool *active) >> { >> DEFiRet; >> struct cnfstmt *stmt; >> >> for(stmt = root ; stmt != NULL ; stmt = stmt->next) { >> ... >> switch(stmt->nodetype) { >> ... >> case S_CALL: >> scriptExec(stmt->d.s_call.stmt, pBatch, active); >> break; >> >> This simple recursion does not allow for queuing. >> >> Config and debug log below: >> >> Ruleset(name="sub" >> queue.type="FixedArray". >> queue.size="200000". >> queue.workerthreads="2" >> queue.timeoutenqueue="0" >> queue.dequeuebatchsize="1024" >> ) { >> Action( >> type="mmnormalize" >> userawmsg="on" >> rulebase="/usr/local/etc/rsyslog.d.norm/rules.rb" >> ) >> >> Action ( >> type="omfile" >> DynaFile="rawFilename2" >> template="rawTemplate" >> ) >> } >> Ruleset(name="logd". >> queue.type="FixedArray". >> queue.size="200000". >> queue.workerthreads="2" >> queue.timeoutenqueue="0" >> queue.dequeuebatchsize="1024" >> ){ >> >> call sub >> >> set $!test = "999"; >> ... >> >> } >> >> >> 9911.174885257:7f9578db8700: imudp: epoll_wait() returned with 1 fds >> 9911.174941973:7f9578db8700: imudp: recvmmsg returned 1 >> 9911.174971472:7f9578db8700: recv(3,157),acl:1,msg:<150>2013-11-01 >> 12:08:23 ... >> 9911.174990486:7f9578db8700: imudp: recvmmsg returned -1 >> 9911.175002142:7f9578db8700: logd: qqueueAdd: entry added, size now log >> 1, phys 1 entries >> 9911.175011008:7f9578db8700: logd:Reg: high activity - starting 1 >> additional worker thread(s). >> 9911.175081055:7f9578db8700: logd:Reg: started with state 0, num workers >> now 1 >> 9911.175090848:7f9578db8700: logd: MultiEnqObj advised worker start >> 9911.175104108:7f9577db6700: thread created, tid 28824, name 'rs:logd:Reg' >> 9911.175128571:7f9577db6700: DeleteProcessedBatch: we deleted 0 objects >> and enqueued 0 objects >> 9911.175155708:7f9577db6700: doDeleteBatch: delete batch from store, new >> sizes: log 1, phys 1 >> 9911.175167624:7f9577db6700: msg parser: flags 70, from '~NOTRESOLVED~', >> msg '<150>2013-11-01 12:08:23 ...' >> 9911.175176465:7f9577db6700: parse using parser list 0x17bb160 (the >> default list). >> 9911.175186497:7f9577db6700: Parser 'rsyslog.rfc5424' returned -2160 >> 9911.175198019:7f9577db6700: Message will now be parsed by the legacy >> syslog parser (one size fits all... ;)). >> 9911.175213361:7f9577db6700: Parser 'rsyslog.rfc3164' returned 0 >> 9911.175220455:7f9577db6700: processBatch: batch of 1 elements must be >> processed >> 9911.175228151:7f9577db6700: scriptExec: batch of 1 elements, active >> (nil), active[0]:1 >> 9911.175263901:7f9577db6700: CALL [sub] >> 9911.175280548:7f9577db6700: scriptExec: batch of 1 elements, active >> (nil), active[0]:1 >> 9911.175287128:7f9577db6700: ACTION 0x17d3090 >> [mmnormalize:action(type="mmnormalize" ...)] >> 9911.175303283:7f9577db6700: RRRR: execAct [mmnormalize]: batch of 1 >> elements, active (nil) >> 9911.175316259:7f9577db6700: Called action(NotAllMark), processing >> batch[0] via 'mmnormalize' >> 9911.175323900:7f9577db6700: Called action(Batch), logging to mmnormalize >> 9911.175332786:7f9577db6700: submitBatch: enter, nElem 1 >> 9911.175339760:7f9577db6700: tryDoAction 0x17d3090, pnElem 1, nElem 1 >> 9911.175347880:7f9577db6700: Action 0x17d3090 transitioned to state: itx >> 9911.175354858:7f9577db6700: entering actionCalldoAction(), state: itx >> 9911.175442747:7f9577db6700: Action 0x17d3090 transitioned to state: rdy >> 9911.175451948:7f9577db6700: action 0x17d3090 call returned 0 >> 9911.175460819:7f9577db6700: scriptExec: batch of 1 elements, active >> (nil), active[0]:1 >> 9911.175467484:7f9577db6700: ACTION 0x17d9730 >> [builtin:omfile:action(type="builtin:omfile" ...)] >> 9911.175483056:7f9577db6700: RRRR: execAct [builtin:omfile]: batch of 1 >> elements, active (nil) >> 9911.175491175:7f9577db6700: Called action(NotAllMark), processing >> batch[0] via 'builtin:omfile' >> 9911.175498109:7f9577db6700: Called action(Batch), logging to >> builtin:omfile >> 9911.175575796:7f9577db6700: submitBatch: enter, nElem 1 >> 9911.175585036:7f9577db6700: tryDoAction 0x17d9730, pnElem 1, nElem 1 >> 9911.175592618:7f9577db6700: Action 0x17d9730 transitioned to state: itx >> 9911.175599472:7f9577db6700: entering actionCalldoAction(), state: itx >> 9911.175606466:7f9577db6700: file to log to: /srv/Temp/syslog/raw- >> 201311021458.log2 >> 9911.175613230:7f9577db6700: omfile: start of data: '<150>2013-11-01 >> 12:08:23 ...' >> 9911.175777103:7f9577db6700: file stream raw-201311021458.log2 params: >> flush interval 0, async write 0 >> 9911.175845217:7f9577db6700: Added new entry 0 for file cache, file >> '/srv/Temp/syslog/raw-201311021458.log2'. >> 9911.175855647:7f9577db6700: write to stream, pData->pStrm >> 0x7f95680017c0, lenBuf 389 >> 9911.175864668:7f9577db6700: action 0x17d9730 call returned -2121 >> 9911.175878491:7f9577db6700: strm 0x7f95680017c0: file >> -1(raw-201311021458.log2) flush, buflen 389 >> 9911.175887358:7f9577db6700: strmPhysWrite, stream 0x7f95680017c0, len 389 >> 9911.175908678:7f9577db6700: file '/srv/Temp/syslog/raw-201311021458.log2' >> opened as #6 with mode 416 >> 9911.175933390:7f9577db6700: strm 0x7f95680017c0: opened file >> '/srv/Temp/syslog/raw-201311021458.log2' for WRITE as 6 >> 9911.175967795:7f9577db6700: strm 0x7f95680017c0: file 6 write wrote 389 >> bytes >> 9911.175977140:7f9577db6700: Action 0x17d9730 transitioned to state: rdy >> 9911.175987406:7f9577db6700: scriptExec: batch of 1 elements, active >> (nil), active[0]:1 >> 9911.175994479:7f9577db6700: SET !test = >> 9911.176007595:7f9577db6700: string '999' >> 9911.176028332:7f9577db6700: END SET >> >> >> 02.11.2013 14:48, Rainer Gerhards: >> >>> On Sat, Nov 2, 2013 at 11:43 AM, Pavel Levshin <[email protected]> >>> wrote: >>> >>> Hello. >>>> >>>> Doc on call statement says: >>>> >>>> The "call" statement can be used to call into any type of rulesets. >>>> If a >>>> >>>>> rule set has a queue assigned, the message will be posted to that >>>>> queue and >>>>> processed asynchronously. Otherwise, the ruleset will be executed >>>>> synchronously and control returns to right after the call when the >>>>> rule set >>>>> has finished execution. >>>>> >>>>> Unfortunately, it is not true. >>>> >>> >>> If it is not true for some versions, that's a bug. >>> >>> Note that the ruleset parameters apply. If the ruleset has no queue (more >>> precisely: queue.type="direct" - the default), the ruleset itself is >>> synchronous. >>> >>> Rainer >>> >>> Called rulesets are executed synchronously, ever. Is it a degradation >>>> over >>>> omruleset? >>>> >>>> >>>> -- >>>> Pavel Levshin >>>> >>>> >>>> 31.10.2013 21:22, Rainer Gerhards: >>>> >>>> Hi folks, >>>>> >>>>> a word of warning: this module has been replaced by the "call" >>>>> statement >>>>> and emits a warning message for quite a while. In some upcoming >>>>> versions >>>>> (not 7.6) it will no longer by available inside the RPMs, but can >>>>> still be >>>>> built from source. >>>>> >>>>> Note that "call" is much more capable (and notably faster) than >>>>> omruleset, >>>>> so it's probably a good idea to get rid of it if you still use it. >>>>> >>>>> Rainer >>>>> ______________________________**_________________ >>>>> rsyslog mailing list >>>>> http://lists.adiscon.net/**mailman/listinfo/rsyslog<http: >>>>> //lists.adiscon.net/mailman/listinfo/rsyslog> >>>>> http://www.rsyslog.com/**professional-services/<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: >>>> //lists.adiscon.net/mailman/listinfo/rsyslog> >>>> http://www.rsyslog.com/**professional-services/<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. >>> >> >> _______________________________________________ >> 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.

