| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
The enhanced testbench now runs without failures, again
|
|
|
|
|
| |
also changed DA queue mode in that the regular workers now run
concurrently.
|
|
|
|
|
|
| |
... in preparation for some larger changes - I need to apply some
serious design changes, as the current system does not play well
at all with ultra-reliable queues. Will do that in a totally new version.
|
|
|
|
| |
slightly improved situation, would like to save it before carrying on
|
|
|
|
|
|
|
|
|
|
|
| |
... and also improved the test suite. There is a design issue in the
v3 queue engine that manifested to some serious problems with the new
processing mode. However, in v3 shutdown may take eternally if a queue
runs in DA mode, is configured to preserve data AND the action fails and
retries immediately. There is no cure available for v3, it would
require doing much of the work we have done on the new engine. The window
of exposure, as one might guess from the description, is very small. That
is probably the reason why we have not seen it in practice.
|
|
|
|
|
|
|
|
|
| |
so far, the last processed message was only freed when the next
one was processed. This has been changed now. More precisely, a
better algorithm has been selected for the queue worker process, which
also involves less overhead than the previous one. The fix for
"free last processed message" as then more or less a side-effect
(easy to do) of the new algorithm.
|
| |
|
| |
|
| |
|
|
|
|
| |
... now that we know what we need from a theoretical POV.
|
| |
|
|
|
|
|
| |
... plus simplifying free() calls after agreement on mailing list
that we no longer need to check if the pointer is non-NULL
|
|
|
|
| |
configuration directives
|
|
|
|
|
|
| |
... but this code has serious problems when terminating the queue, also
it is far from being optimal. I will commit a series of patches (hopefully)
as I am on the path to the final implementation.
|
|\ |
|
| |
| |
| |
| |
| |
| | |
There exists a race condition that can lead to a segfault. Thanks
go to vbernetr, who performed the analysis and provided patch, which
I only tweaked a very little bit.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
...to enable users to turn off pthread_yield calls which are
counter-productive on multiprocessor machines (but have been
shown to be useful on uniprocessors)
|
| |
| |
| |
| |
| |
| | |
Message parsing is now done as part of main message queue worker
processing (was part of the input thread) This should also improve
performance, as potentially more work is done in parallel.
|
|/
|
|
|
|
|
|
| |
- changed sequence when awakening thread
- removed no longer needed condition variable
- EXPERIMENTALLY added mutex guarding to hostname lookups
this is to be removed if it does not have any verifyable
useful effect
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- added the ability to specify an error log function for the
runtime
- removed dependency of core runtime on dirty.h
Note that it is "better" modularity, not perfect. There is still
work to do, but I think we can for the time being proceed with
other things.
|
|
|
|
|
| |
reduced dependencies, moved non-runtime files to its own directory except
for some whom's status is unclear
|
|
|