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

egw-scale-utils: ensure consistent interval, and don't return on errors #189

Merged
merged 4 commits into from
Feb 19, 2025

Conversation

giorio94
Copy link
Member

Modify the client loop to ensure that probes are sent evenly spread, with the desired interval (which is now configurable as a parameter), independently of the time spent establishing the connection or reading the data from it. Previously, instead, the fixed 50ms sleep could lead to skews, making results dependent on the actual network latency. Similarly, reading from the connection could block forever, as no deadline was explicitly set.

Additionally, let's change all connection errors to not be fatal, so that the client doesn't restart in case of timeouts. We were indeed observing this behavior in the actual tests (likely caused by SYN packets being dropped during datapath reconfiguration), partially invalidating the results. Errors are now instead treated as misses.

Signed-off-by: Marco Iorio <marco.iorio@isovalent.com>
As they need to be executed independently of whether a file with the
same name already exists or not.

Signed-off-by: Marco Iorio <marco.iorio@isovalent.com>
Modify the client loop to ensure that probes are sent evenly spread,
with the desired interval (which is now configurable as a parameter),
independently of the time spent establishing the connection or reading
the data from it. Previously, instead, the fixed 50ms sleep could lead
to skews, making results dependent on the actual network latency.
Similarly, reading from the connection could block forever, as no
deadline was explicitly set.

Additionally, let's change all connection errors to not be fatal, so
that the client doesn't restart in case of timeouts. We were indeed
observing this behavior in the actual tests (likely caused by SYN
packets being dropped during datapath reconfiguration), partially
invalidating the results. Errors are now instead treated as misses.

Signed-off-by: Marco Iorio <marco.iorio@isovalent.com>
To have an indication of when the client actually started.

Signed-off-by: Marco Iorio <marco.iorio@isovalent.com>
@giorio94 giorio94 marked this pull request as ready for review February 18, 2025 15:40
@giorio94 giorio94 requested a review from marseel February 18, 2025 15:40
Copy link
Collaborator

@marseel marseel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, thanks!

@giorio94 giorio94 merged commit 8f165de into cilium:main Feb 19, 2025
4 checks passed
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

Successfully merging this pull request may close these issues.

2 participants