-
Notifications
You must be signed in to change notification settings - Fork 1.7k
network: general fixes for failure states #10466
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
Open
edsiper
wants to merge
6
commits into
master
Choose a base branch
from
networking-fixes
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…loop When dropping a DNS lookup context, check if the c-ares socket is still registered into the event loop, if so, remove it from the queue and set the proper ares_socket_registered flag to FLB_FALSE. Signed-off-by: Eduardo Silva <[email protected]>
Signed-off-by: Eduardo Silva <[email protected]>
There are situations where a race condition can happen with keepalive connections with a mix of failed states of intermediary connections, an example can be HTTP output + AWS auth, where the AWS auth failed and could not be obtained in the DNS resolution state). This commit ensures the busy_flag is set as soon as the connection is created and only removed when released or an exception happens. When destroying connections, we now not only validate the busy flag but as well check if the connection is not assigned to a priority queue. I also added a new check for the event structure clearing up the states before its used again with the event loop interface. The fixes address the issue described in: #10458 Signed-off-by: Eduardo Silva <[email protected]>
2ad2b25
to
3ddf4ac
Compare
Signed-off-by: Eduardo Silva <[email protected]>
Signed-off-by: Eduardo Silva <[email protected]>
Signed-off-by: Eduardo Silva <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fixes: #10458
In addition, other fixes are part of this PR for async DNS resolution (remove stale fd from the event loop), extra validation of socket status for a synchronous network connection and the busy_flag management in the upstream interface.
Fluent Bit is licensed under Apache 2.0, by submitting this pull request I understand that this code will be released under the terms of that license.