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

On exit, uperf server to kill child's pid also #70

Merged
merged 1 commit into from
Nov 19, 2024

Conversation

HughNhan
Copy link
Contributor

@HughNhan HughNhan commented Nov 19, 2024

< try again this PR from the official repo instead of my fork repo just in case the fork repo creates issue for CI>

Sypnopsis: Improve uperf server exit logic for CRR.
Description: On a high scale CRR test, we could see the client fails to connect to the server on the second or later sample runs. The root cause is the server side may have two uperf processes LISTEN on the control port. One process is the "good" one, and the other is actually the left-over from the previous run.
This could happen because the main uperf server process spawns a child, but the current uperf-server-stop only kills the main process. CRR notoriously has issue with not being able to shutdown all connection cleanly. In this case, the child process remains alive and LISTENs to the port, and not die with the parent - On the next run, we end up having two processes listen on the control port.
Fix: Also find and kill the child process on uperf-server-stop.
Test: CRR profile and all other profiles are perfectly happy with the new code

@HughNhan HughNhan merged commit 9165338 into master Nov 19, 2024
47 of 72 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants