summaryrefslogtreecommitdiffstats
path: root/action.c
Commit message (Collapse)AuthorAgeFilesLines
* bugfix: message processing states were not set correctly in all casesRainer Gerhards2009-10-191-2/+4
| | | | | | however, this had no negative effect, as the message processing state was not evaluated when a batch was deleted, and that was the only case where the state could be wrong.
* new queue engine - initial commit (probably not 100% working!)Rainer Gerhards2009-10-141-1/+2
| | | | | | | | | | simplified and thus speeded up the queue engine, also fixed some potential race conditions (in very unusual shutdown conditions) along the way. The threading model has seriously changes, so there may be some regressions. NOTE: the code passed basic tests, but there is still more work and testing to be done. This commit should be treated with care.
* added some debug settings plus improved shutdown sequenceRainer Gerhards2009-10-131-6/+6
| | | | ... non-working version!
* minor: optimized dbgprintf() calling sequenceRainer Gerhards2009-09-101-17/+17
|
* reduced number of debug messages a bit againRainer Gerhards2009-08-261-9/+0
|
* added new config option $ActionWriteAllMarkMessagesRainer Gerhards2009-08-201-2/+7
| | | | | | this option permites to process mark messages under all circumstances, even if an action was recently called. This can be useful to use mark messages as a kind of heartbeat.
* bugfix: discard action did not work (did not discard messages)Rainer Gerhards2009-07-301-19/+37
|
* more code simplification, should also bring some performance enhancementRainer Gerhards2009-07-171-11/+0
| | | | reducing the number of thread cancellation state changes
* Merge branch 'v4-devel'Rainer Gerhards2009-07-091-1/+2
|\
| * small performance improvement and cleanupRainer Gerhards2009-07-091-1/+2
| | | | | | | | | | | | optimized substring processing, should bring a small enhancement when forwarding with the default forwarding templates. Also did some uchar cleanup in msg.c (thus so many changes, in reality they are few...).
* | Merge branch 'master' into v5-develRainer Gerhards2009-06-261-2/+2
|\|
| * got rid of the recursive requirement for msg_t mutex (finally!)Rainer Gerhards2009-06-261-2/+2
| |
| * bugfix: abort when using multiple mainMsgQueue worker threadsRainer Gerhards2009-06-241-16/+9
| | | | | | | | | | | | this bug was introduced by a recent change which was a bit too agressive in avoiding locking. We can probably do better than with this patch, but I think I'll move that into the v5 engine.
| * fixed a race condition: generated msg string store must be mutex protectedRainer Gerhards2009-06-231-11/+13
| | | | | | | | | | | | | | | | the string area that is used to build the string being passed to the output module is now part of the action structure. As such, access to it must also be guarded by the action mutex (an even more optimal solution may be to store it in thread-local storage, but there always must remain some room for improvement ;)).
* | quick and dirty fix for one race conditionRainer Gerhards2009-06-241-4/+4
| | | | | | | | | | | | It is intentionally quick & dirty, as I would like to do some better patch, if possible. For that, I probably need the commented-out code, thus no delete.
* | Merge branch 'omfile' into v5-develRainer Gerhards2009-06-231-13/+7
|\| | | | | | | | | Conflicts: runtime/rsyslog.h
| * restored repeated message reduction processingRainer Gerhards2009-06-231-14/+8
| |
* | some post-merge cleanupRainer Gerhards2009-06-221-5/+2
| |
* | Merge branch 'omfile' into tmpRainer Gerhards2009-06-221-63/+89
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was a complex manual merge, especially in action.c. So if there occur some problems, this would be a good point to start troubleshooting. I run a couple of tests before commiting and they all went well. Conflicts: action.c action.h runtime/queue.c runtime/queue.h runtime/wti.c runtime/wti.h
| * optimized template string generationRainer Gerhards2009-06-191-31/+72
| |
| * optimized action.c a bitRainer Gerhards2009-06-191-19/+15
| |
| * optimized handling of MSG part in msg objectRainer Gerhards2009-06-181-1/+2
| | | | | | | | | | WARNING: currently, message repeation processing is disabled, must be reenabled (but prefer to do some other tests first)
| * cleaned up/optimized raw message handling in msg objectRainer Gerhards2009-06-181-1/+1
| |
* | Merge branch 'omfile' into v5-develRainer Gerhards2009-06-161-0/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note that this was NOT a trivial merge, and there may be some issues. This needs to be seen when we continue developing. Conflicts: runtime/msg.h runtime/obj.h runtime/queue.c runtime/srUtils.h runtime/stream.c runtime/stream.h runtime/wti.c tests/Makefile.am tools/omfile.c tools/syslogd.c
| * added capability to fsync() queue disk files for enhanced reliabilityRainer Gerhards2009-06-091-0/+4
| | | | | | | | | | | | | | also adds speed, because you do no longer need to run the whole file system in sync mode. New testbench and new config directives: - $MainMsgQueueSyncQueueFiles - $ActionQueueSyncQueueFiles
* | moved user object destruction to queue itselfRainer Gerhards2009-05-131-1/+0
| | | | | | | | | | | | So far, the consumer was responsible for destroying objects. However, this does not work well with ultra-reliable queues. This is the first move to support them.
* | action batch processing implementedRainer Gerhards2009-05-121-24/+132
| | | | | | | | ... passed initial tests, but of course more are needed
* | moving to a cleaner implementation of batchesRainer Gerhards2009-05-121-12/+13
| | | | | | | | ... now that we know what we need from a theoretical POV.
* | Merge branch 'master' into multi-dequeueRainer Gerhards2009-05-121-4/+7
|\| | | | | | | | | Conflicts: runtime/rsyslog.h
| * added capability to draw configuration graphsRainer Gerhards2009-05-111-4/+7
| | | | | | | | | | | | | | | | - added $GenerateConfigGraph configuration command which can be used to generate nice-looking (and very informative) rsyslog configuration graphs. - added $ActionName configuration directive (currently only used for graph generation, but may find other uses)
* | fixed some bugs & added testing helpersRainer Gerhards2009-05-071-21/+86
| | | | | | | | | | | | | | The action state machine now works correctly and has been verified a few hand-picked cases. I am missing automatted tests, though, this is not easy to achive... Anyhow, I've improved omtesting, so that it can be used in such automatted tests.
* | first shot at action state machine implemention (untested)Rainer Gerhards2009-05-071-127/+335
| | | | | | | | | | I am commiting it so that the code is visible, but will no begin with the test environment.
* | minor cleanupRainer Gerhards2009-04-291-1/+2
| |
* | begin implementation of new transactional output module interfaceRainer Gerhards2009-04-271-2/+9
| | | | | | | | code is not complete, error cases are not handled.
* | added $MainMsgQueueDequeueBatchSize and $ActionQueueDequeueBatchSize ↵Rainer Gerhards2009-04-231-0/+4
| | | | | | | | configuration directives
* | now batches are handed down to the actual consumerRainer Gerhards2009-04-221-2/+28
|/ | | | | | ... but the action consumer does not do anything really intelligent with them. But the DA consumer is already done, as is the main message queue consumer.
* added a new way how output plugins may be passed parameters.Rainer Gerhards2009-04-031-2/+30
| | | | | This is more efficient for some outputs. They new can receive fields not only as a single string but rather in an array where each string is seperated.
* Merge branch 'omfile-errHandler'Rainer Gerhards2009-03-241-1/+7
|\ | | | | | | | | Conflicts: ChangeLog
| * omfile bugfixingRainer Gerhards2009-03-181-1/+7
| | | | | | | | | | | | | | - fixed a bug that caused action retries not to work correctly situation was only cleared by a restart - bugfix: closed dynafile was potentially never written until another dynafile name was generated - potential loss of messages
* | integrated various patches for solarisRainer Gerhards2009-03-051-22/+22
|/ | | | | | | | | Unfortunatley, I do not have the full list of contributors available. The patch set was compiled by Ben Taylor, and I made some further changes to adopt it to the news rsyslog branch. Others provided much of the base work, but I can not find the names of the original authors. If you happen to be one of them, please let me know so that I can give proper credits.
* added new config directive $RepeatedMsgContainsOriginalMsgRainer Gerhards2009-02-021-8/+11
| | | | | | so that the "last message repeated n times" messages, if generated, may have an alternate format that contains the message that is being repeated. Note that this is on an action-by-action basis.
* fixed type in format string (s as string indicator missing)varmojfekoj2009-01-121-1/+1
| | | | Signed-off-by: Rainer Gerhards <rgerhards@adiscon.com>
* experimentally altered "last message repeated n times" to include msgRainer Gerhards2008-12-191-2/+7
| | | | | | | | | | | | This was suggested by David Lang, to help identify the message that was repeated. A problem is that I do not have the expanded template at hand when the "last ... times" message is generated. Spending much time on this functionality is also probably not a good thing, as the whole functionality will be overhauled (and once this is done we will not at all have the output template at hand). So the approach is to use a single field - here msg - and inlcude it as a notation of what was repeated. This is far from being perfect, but eventually good enough. I will now wait for feedback before going any further.
* added configuration directive "HUPisRestart"Rainer Gerhards2008-10-231-0/+33
| | | | | ...which enables to configure HUP to be either a full restart or "just" a leightweight way to close open files
* cleanup of output timestamp generationRainer Gerhards2008-10-071-36/+2
|
* "output" timestamp now taken from mesg's time generatedRainer Gerhards2008-10-071-1/+5
| | | | | | | This enhances performance and, as some have pointed out, is probably also more consistent with what users expect how the various output-timestamp related function should work. This commit needs some more testing.
* very minor: performance optimization hint addedRainer Gerhards2008-10-021-0/+1
|
* TESTING COMMIT: commiting not fully correct codeRainer Gerhards2008-09-181-1/+30
| | | | | | ... for the purpose of conducting a few external tests. This is a first approach at removing the time() call in the output, but it shows there are some subleties we need to address.
* consolidated time() calls in rule engineRainer Gerhards2008-09-161-29/+72
| | | | | | | ... but did not manage to avoid doing at least one call. So this change introduced performance benefit only in a few non-common situations. Anyhow, it hopefully levels ground for better things to come.
* Merge branch 'beta'Rainer Gerhards2008-09-121-1/+1
|\ | | | | | | | | | | | | Conflicts: runtime/rsyslog.h tools/syslogd.c