Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failure of one writer in a logger chain stops all writers in the chain. #276

Open
KPed-at-home opened this issue Aug 2, 2021 · 1 comment

Comments

@KPed-at-home
Copy link

Describe the bug
The title says it all.

To Reproduce
Force any single writer to fail. For example, if you have a UDP writer, firewall the port. If you have a file writer, fill the disk with /dev/random or something. When one fails, they all fail. So if the disk is full, it stops writing to UDP, if you block the UDP port, it stops writing to disk.

Expected behavior
Only the failed writer should fail.

Desktop (please complete the following information):

  • RHEL7 linux

Additional context

  • Tested on LMG's installation, behavior not verified on other OS's (nor against the changes Pablo recently made)
@davidpablocohn
Copy link
Collaborator

This actually raises a design question: if your file writer fails, do you emit a single warning and go on, or kill the logger and count on the logger manager restarting it, hopefully succeeding after a transient problem?

I've rewritten the default configs so that each "primary" logger just writes to file and UDP, and a "secondary" logger reads everything from UDP, parses and distributes it to InfluxDB and the CDS. UDPWriter no longer dies if the network is down (I never got it to die if a port was blocked by firewalld - were you blocking by some other method?). But in this case, if the file writer fails, I really would like the logger to die, wouldn't I?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants