325 Commits

Author SHA1 Message Date
Rainer Gerhards
4a63f8e962
rscript fix: ruleset called async when ruleset had queue.type="direct"
The call rscript statement is able to call a rule set either synchronously or
asynchronously. We did this, because practice showed that both modes
are needed. For various reasons we decided to make async
calls if the ruleset has a queue assigned and sync if not.

To know if a "queue is assigned" we just checked if queue parameters were
given. It was overlookeded the case of someone explicitly specifying a
"direct  queue", aka "no queue". As such, queue="direct" triggered async
calls. That in turn meant that when a write operation to a variable was
made inside that rule set, other rulesets could or could not see the
write. While if was often not seen, this was a data race where the
change could also be seen by the outside.

This is now fixed. No matter if queue.type="direct" is specified or
left out, the call will always by synchronous. Any values written to
variables will also be seen by the "outside world" in later processing
stages.

Note that this has some potential to BREAK EXISTING CONFIGURATIONS.
We deem this acceptable because:

1. this was racy at all, so unexpected behaviour could alwas occur
2. it is actually unlikely that someone used the triggering conditions
   in practice. But we can not outrule this, especially when the
   configuration was auto-generated.

Potential compatibility issues can be solved by defining a small
array-memory queue on the ruleset in question instead of specifying
direct type.

Again, we expect that almost all users will never experience any
problems. If you do, however, please let us know: we may add an
option to re-enable the bug.
2021-10-11 15:07:16 +02:00
Rainer Gerhards
6b790d8936
testbench bugfix: no pid file wait on elasticsearch startup
The testbench framework does not properly wait until ES has created
its pid file, which probably means it did basic initializiation.
This can cause test synchronization issues and ultimately failures.
2021-09-21 10:26:55 +02:00
Rainer Gerhards
12f8cc7b29
CI: add github action for ElasticSearch testing 2021-08-25 10:13:38 +02:00
Rainer Gerhards
a7b2cb48f7
CI bugfix: journal testing setup was invalid
commit 76e1191938 accidentally installed the wrong library (librelp).
We now install the right one (libfastjson).
2021-02-03 11:01:45 +01:00
Rainer Gerhards
5c83f41287
Merge pull request #4517 from rgerhards/ci-fix-journal-deps
CI bugfix: journal test installed wrong dependencies
2021-02-02 11:59:48 +01:00
Rainer Gerhards
76e1191938
CI: update journal test installed to use newst libfastjson
Right now, we cannot build libfastjson for Debian'ish systems on
SUSE OBS. Thus we now build it "manually" within the test.

This should be reversed when the OBS issue is solved.

see also: https://forums.opensuse.org/showthread.php/549799-unable-to-build-Debian-ish-packages-on-OBS-for-one-lib?p=3001129#post3001129
2021-02-02 11:03:01 +01:00
Rainer Gerhards
3b606e16c2
CI: remove CentOS 6 from CI
CentOS 6 has reached end of life for a while and we have not
seen any request for it for even a while longer. We asked for
community feedback and there was no objection against removing
it from regular CI. As such, this now happens.
2021-02-01 13:01:52 +01:00
Rainer Gerhards
ceb614d86c
CI: maintain fedora tests, add current, remove old version
We now also test Fedora via github actions. We add current Fedora 33
and remove outdated Fedora 30. After this patch has been applied, we
can remove Fedora test from buildbot.
2021-02-01 10:35:22 +01:00
Rainer Gerhards
f2710f59b0
CI: switch some tests from Ubuntu 18 to 20
So we can use the more modern tools that comes with it.

We also change some plumbing as newer version of TSAN require
that.

Note: we disable some kafka TSAN/ASAN tests as librdkafka
throws errors which we currently cannot suppress. This issue
will be addressed in separate patch.
2021-01-29 13:19:26 +01:00
Rainer Gerhards
9f3f869954
QA: use github action VMs for systemd journal tests 2021-01-18 12:54:34 +01:00
Rainer Gerhards
4a0c28a10d
testbench modernization
Bump dependency versions, use newer distro versions for some tests.
Make kafka distcheck separate to help diagnose flaky kafka tests.
2021-01-18 08:58:07 +01:00
Rainer Gerhards
559a667d0a
CI: increase CentOS 6 github check max runtime
This check is very slow because parallel builds are not supported
by the very old CentOS 6 autotools.
2020-09-11 14:16:46 +02:00
Rainer Gerhards
2fbf0e2cf5
CI: add gcc-10 compile check
closes https://github.com/rsyslog/rsyslog/issues/4115
2020-09-08 12:05:12 +02:00
Rainer Gerhards
6e810d3f5e
CI: run testbench on ubuntu 20 with github action 2020-09-07 11:21:30 +02:00
Rainer Gerhards
ee36d0472e
CI: do CodeCov checks via github action 2020-08-13 10:36:17 +02:00
Rainer Gerhards
06946825ee
CI: use github actions for compile checks 2020-08-11 14:24:30 +02:00
Rainer Gerhards
719009e8cf
CI: move more checks to github actions 2020-08-11 11:21:41 +02:00
Rainer Gerhards
d809c946ec
CI: run centos 6 checks via github action 2020-07-14 10:20:01 +02:00
Rainer Gerhards
33330e0742
CI: add github actions 2020-07-10 19:19:58 +02:00
Rainer Gerhards
0a44af36d5
enable github actions (functionality follows)
in order to trigger actions, we seem to need to have at least one workflow
present in primary branch. At least otherwise PR runs do not trigger. So we
provide this on a hopefully simply enough (non-failing) dummy.
2020-07-09 09:11:09 +02:00
Rainer Gerhards
e9c5aa32c0
github: configure to automatically lock closed issues 2019-12-24 09:58:35 +01:00
Rainer Gerhards
8f1fdb461b add GDPR legal notice to contributor doc
while this is utter nonsense, discussion on GDPR and git
seems unfortunately be rooted in actual legal needs
2018-06-01 12:21:15 +02:00
Rainer Gerhards
8068d9fbe8 update github issue template
in the hopes this will be more user-friendly (let's see... ;-))

closes https://github.com/rsyslog/rsyslog/issues/2463
2018-05-14 09:48:03 +02:00
deoren
e9d08e484e Propose addition to the documentation footer
Instead of linking to only the master branch version of the docs, perhaps provide a link to both versions since there is not an index page that lists both?

refs rsyslog/rsyslog#2283
2017-12-23 01:36:19 -06:00
Rainer Gerhards
f08ce99e81 github: add issue template to project 2017-12-21 15:10:08 +01:00