-
Notifications
You must be signed in to change notification settings - Fork 580
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
API TLS session connection closed after 2 requests #6635
Comments
Problem persists with 2.9.2, maybe resolved with the snapshot packages. Thanks for the script, this helps a lot - will continue later. |
I'll look into this after 2.10, it is nasty but doesn't crash. |
It is a timing problem - when you halt in lldb, it sometimes lasts longer. I suspect a mix between |
Hm, yeah, temporarily removing that corked bullshit (pardon) solves it. |
Corked basically also affects how events are read with epoll in our socket IO handling. I would assume that at some point, future events are not read nor the socket is woken up. This leads to this hard to debug behaviour. |
Likely this also affects connection handling in the JSON-RPC class with undefined timeouts being seen in the past weeks. |
…nd not stalled This basically drops the "corked" implementation which just stalled the TLS IO polling after some requests. If you need sort of rate limiting for these events, use an external TLS proxy which terminates that in front of Icinga. fixes #6635
Also tested the Director kickstart CLI command, works again. |
|
…nd not stalled This basically drops the "corked" implementation which just stalled the TLS IO polling after some requests. If you need sort of rate limiting for these events, use an external TLS proxy which terminates that in front of Icinga. fixes #6635
Expected Behavior
You can use 1 API connection to POST to /v1/actions/process-check-result many times, rather than opening a new TCP connection for each POST
Current Behavior
The first 2 POSTs work, then on the 3rd POST the connection hangs for a few seconds, then is closed by icinga
Possible Solution
Unsure, this only started happening after upgrading to 2.9.1 (we were on 2.4.10)
Steps to Reproduce (for bugs)
The issue can be replicated with the following python:
Output:
Context
We use this API endpoint to update the status of passive checks. We have many hundreds of them, so using 1 connection to update them all is much more efficient than opening a new connection to the API for each one.
Your Environment
Version used (
icinga2 --version
):icinga2 - The Icinga 2 network monitoring daemon (version: r2.9.1-1)
Operating System and version:
icinga2 feature list
):Enabled features: api checker command ido-mysql mainlog notification
2.6.1 (b3e0b5d587c3587a09d82b3634dbe3a5dd315353)
icinga2 daemon -C
):Validates fine
zones.conf
file (oricinga2 object list --type Endpoint
andicinga2 object list --type Zone
) from all affected nodes.The text was updated successfully, but these errors were encountered: