summaryrefslogtreecommitdiffstats
path: root/runtime
Commit message (Collapse)AuthorAgeFilesLines
* some more fixes for queue engineRainer Gerhards2009-05-284-37/+40
| | | | The enhanced testbench now runs without failures, again
* fixing an issue during DA mode queue shutdownRainer Gerhards2009-05-282-62/+47
| | | | | also changed DA queue mode in that the regular workers now run concurrently.
* preserving current changesRainer Gerhards2009-05-283-29/+25
| | | | | | ... 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.
* interim commit: working on failure casesRainer Gerhards2009-05-278-113/+267
| | | | slightly improved situation, would like to save it before carrying on
* Merge branch 'master' into ultra-reliableRainer Gerhards2009-05-271-1/+0
|\ | | | | | | | | | | | | | | | | Conflicts: tests/Makefile.am tests/diskqueue.sh tests/imtcp-multiport.sh tests/manytcp.sh tests/memq-persist.sh
| * greatly enhanced testbenchRainer Gerhards2009-05-271-1/+0
| | | | | | | | | | | | | | | | | | The imdiag module now can very effectively inject messages, which also frees us from uncertainties of tcp reception and processing. All shell script based tests have been modularized, what makes it far easier to create new tests. Also, the test bench now executes more reliable and much faster, because we can now rely on actual engine information where we previously did just a dumb sleep.
* | solved design issue with queue terminationRainer Gerhards2009-05-267-105/+223
| | | | | | | | | | | | | | | | | | | | | | ... 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.
* | Merge branch 'master' into ultra-reliableRainer Gerhards2009-05-251-0/+29
|\|
| * solved some issues with testbench & a race conditionRainer Gerhards2009-05-251-1/+9
| |
| * improved testbench / solved imdiag race conditionRainer Gerhards2009-05-251-0/+21
| | | | | | | | | | | | | | | | | | imdiag/imtcp had a modload race condition (as imdiag is a testing aid, this has no implications for production deployments). Also, I replaced netcat by a custom program to talk to imdiag. This, for the first time ever, is now a Java program. I plan to add some GUI troubleshooting tools and thought it is a good idea to start doing things in Java that can simply be done in that language.
* | Merge branch 'master' into ultra-reliableRainer Gerhards2009-05-253-2/+2
|\| | | | | | | | | | | Conflicts: tests/Makefile.am tests/diskqueue.sh
| * added new testing module imdiagRainer Gerhards2009-05-252-1/+1
| | | | | | | | | | which enables to talk to the rsyslog core at runtime. The current implementation is only a beginning, but can be expanded over time
| * fixing some nits with the build systemRainer Gerhards2009-05-221-1/+1
| |
* | minor cleanup: remove compiler warningRainer Gerhards2009-05-221-1/+1
| |
* | Merge branch 'master' into ultra-reliableRainer Gerhards2009-05-2210-78/+115
|\| | | | | | | | | | | | | Conflicts: runtime/rsyslog.h tests/Makefile.am tools/syslogd.c
| * added capability to run multiple tcp listeners (on different ports)Rainer Gerhards2009-05-2210-78/+115
| | | | | | | | | | | | | | | | | | | | | | Well, actually this and a lot of related things. I improved the testbench so that the new capabilities are automatically tested and also did some general cleanup. The current multiple tcp listener solution will probably receive some further cleanup, too, but looks quite OK so far. I also reviewed the way tcpsrv et all work, in preparation of using this code for imdiag. I need to document the findings, especially as the code is rather complicated "thanks" to the combination of plain tcp and gssapi transport modes.
* | free last processed message in all casesRainer Gerhards2009-05-206-68/+129
| | | | | | | | | | | | | | | | | | 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.
* | yield() no longer needed on uniproc thanks to new algorithmsRainer Gerhards2009-05-203-42/+8
| |
* | solved the intended-discard-during-dequeue issueRainer Gerhards2009-05-193-11/+19
| |
* | some cleanupRainer Gerhards2009-05-192-87/+0
| |
* | queue size calculation now based on logical/physical dequeueRainer Gerhards2009-05-192-49/+68
| | | | | | | | | | | | ... needed to split the old single counter into two. I wouldn't bet that I made some mistakes while doing so, but at least some ad-hoc tests plus the testbench do no longer indicate errors.
* | Merge branch 'master' into tmpRainer Gerhards2009-05-191-0/+1
|\| | | | | | | | | Conflicts: tests/Makefile.am
| * Fix compiler warningsMichael Biebl2009-05-191-0/+1
| | | | | | | | | | | | include <string.h> for memcpy and strlen. Signed-off-by: Rainer Gerhards <rgerhards@adiscon.com>
* | removed queue's UngetObj() callRainer Gerhards2009-05-182-105/+11
| | | | | | | | ... which is no longer needed thanks to the new queue design.
* | t-delete list implemented, queue store drivers updated...Rainer Gerhards2009-05-185-57/+337
| | | | | | | | | | | | ... on the way to the ultra-reliable queue modes (redesign doc). This version does not really work, but is a good commit point. Next comes queue size calculation. DA mode does not yet work.
* | moved user object destruction to queue itselfRainer Gerhards2009-05-132-4/+38
| | | | | | | | | | | | 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.
* | added test for property replacer field functionality to testbenchRainer Gerhards2009-05-131-3/+1
| | | | | | | | plus some cosmetic changes
* | action batch processing implementedRainer Gerhards2009-05-122-1/+4
| | | | | | | | ... passed initial tests, but of course more are needed
* | one astrisk too much - and we have a segfault... - fixed ;)Rainer Gerhards2009-05-121-1/+1
| |
* | moving to a cleaner implementation of batchesRainer Gerhards2009-05-128-44/+114
| | | | | | | | ... now that we know what we need from a theoretical POV.
* | Merge branch 'master' into multi-dequeueRainer Gerhards2009-05-121-0/+1
|\| | | | | | | | | Conflicts: runtime/rsyslog.h
| * added capability to draw configuration graphsRainer Gerhards2009-05-111-0/+1
| | | | | | | | | | | | | | | | - 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)
* | first shot at action state machine implemention (untested)Rainer Gerhards2009-05-072-3/+24
| | | | | | | | | | I am commiting it so that the code is visible, but will no begin with the test environment.
* | begin implementation of new transactional output module interfaceRainer Gerhards2009-04-274-2/+112
| | | | | | | | code is not complete, error cases are not handled.
* | fixed abort condition in DA modeRainer Gerhards2009-04-233-4/+2
| |
* | fixing a small (newly-introduced) memory leakRainer Gerhards2009-04-233-17/+9
| | | | | | | | | | ... plus simplifying free() calls after agreement on mailing list that we no longer need to check if the pointer is non-NULL
* | added $MainMsgQueueDequeueBatchSize and $ActionQueueDequeueBatchSize ↵Rainer Gerhards2009-04-235-20/+19
| | | | | | | | configuration directives
* | Merge branch 'master' into multi-dequeueRainer Gerhards2009-04-231-4/+4
|\|
| * Merge branch 'beta'Rainer Gerhards2009-04-231-6/+8
| |\ | | | | | | | | | | | | | | | | | | Conflicts: ChangeLog configure.ac doc/manual.html
| | * Merge branch 'v3-stable' into betaRainer Gerhards2009-04-231-6/+8
| | |\ | | | | | | | | | | | | | | | | | | | | Conflicts: ChangeLog runtime/queue.c
| | | * bugfix: light and full delay watermarks had invalid valuesRainer Gerhards2009-04-231-6/+8
| | | | | | | | | | | | | | | | | | | | ... badly affecting performance for delayable inputs (but not causeing any other issues)
| | * | Merge branch 'beta'Rainer Gerhards2009-04-091-0/+2
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: ChangeLog tcpsrv.c tcpsrv.h Note: we have a slight inconsistency, as interface version v4 was already used for tcpsrv in this branch. We accept this inconsistency.
| | | * Merge branch 'v3-stable' into betaRainer Gerhards2009-04-091-0/+2
| | | |\ | | | | | | | | | | | | | | | | | | | | Conflicts: ChangeLog
| | | | * Merge branch 'v2-stable' into v3-stableRainer Gerhards2009-04-091-0/+2
| | | | |
* | | | | improving debugging info a bitRainer Gerhards2009-04-231-2/+4
| | | | |
* | | | | now batches are handed down to the actual consumerRainer Gerhards2009-04-222-18/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... 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.
* | | | | first attempt at dequeueing multiple batches inside the queueRainer Gerhards2009-04-227-79/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... 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.
* | | | | Merge branch 'master' into multi-dequeueRainer Gerhards2009-04-221-0/+2
|\| | | |
| * | | | some cleanupRainer Gerhards2009-04-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | ... mostly removal of compile-time warnings (thanks to Michael Biebl for suggesting to look after that)
* | | | | some cleanupRainer Gerhards2009-04-171-39/+0
|/ / / /