On Tue, Nov 5, 2013 at 9:54 AM, Rainer Gerhards <[email protected]>wrote:
> 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 ;) > > Yup, "forgotten to merge" was probably the right diagnosis. It's merged now. Rainer > 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.

