Comments (5)
The whole point in the mainloop refactor was to be able to use the same infrastructure for worker threads and io threads.
The fact that we have threadid allows LogQueueFifo to scale properly for input threads.
So we should fix the assert.
from syslog-ng.
It's not just the assert. If we fix that, then iv_list_add_tail()
will fail horribly later.
from syslog-ng.
I spent some time thinking about this issue, and I believe that bringing worker and io threads under the same umbrella was a mistake. At least for drivers that use LogThreadedDestination, the IO thread is intentionally and forcibly separate, and does not behave the same way as worker threads do (ie, they can't execute in the main thread). Making all of them be able to run in the main thread if there is no separate thread available would be a huge undertaking, which I believe is not worth it.
The IO threads used by LogThreadedDestination should, therefore, be handled independently of worker threads.
from syslog-ng.
I think that a good solution should be, that the input threads (which threads work into LogFifoQueue) get id from a range 1-64, and the other threads get id from a range 65-128.
With this solution the ivykis worker threads and LogQueueFifo can operate as before, and the threaded destinations (which use worker threads) can be in the same infrastructure.
I will send a pull request in a short time which hopefully solve this problem
from syslog-ng.
Merged a fix from @juhaszviktor, closing this too.
from syslog-ng.
Related Issues (20)
- Support "official" AWS authentication in s3 destination
- Support role in s3 destination
- Sending logs to OpenSearch using panos parser produces JSON error in OpenSearch HOT 2
- default-network-drivers() is not getting fortigate logs hostname ($HOST) correctly HOT 4
- stats(healthcheck-freq()) problems HOT 4
- On a stressed system, some logs are not being written to the log file. HOT 2
- openobserve config is incorrect HOT 2
- Syslog-ng stops writing logs to a file from a custom systemd-journald namespace after a server restart HOT 2
- Support aws:kms encryption in the s3 destination
- [4.7.1] can't compile cloud-auth when using libressl HOT 2
- compile error in otel when ipv6 support is disabled
- clang c++ support HOT 1
- trusted-keys: support a secure hash algorithm HOT 1
- Add macro for certificate fingerprint HOT 1
- Unexpected behavior with multiple conditions including 'not' in the filter HOT 4
- There is no problem starting syslog-ng, but Verify reports an error. HOT 1
- OpenTelemetry/OTLP: add support for certificate pinning, like with `trusted-keys()` HOT 3
- Config failing with kafka and template HOT 3
- syslog-ng 3.24.1 sometimes crash in log_pipe_queue HOT 2
- libcloud-auth is underlinked HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from syslog-ng.