-
Notifications
You must be signed in to change notification settings - Fork 40
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
Eliminate VU races, unify execution loop, remove cpu check loop #1505
Merged
Tofel
merged 18 commits into
tt-1741-performance-comparison-tool
from
fix-vu-creation-races
Dec 19, 2024
Merged
Eliminate VU races, unify execution loop, remove cpu check loop #1505
Tofel
merged 18 commits into
tt-1741-performance-comparison-tool
from
fix-vu-creation-races
Dec 19, 2024
Conversation
This file contains 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
skudasov
changed the base branch from
main
to
tt-1741-performance-comparison-tool
December 19, 2024 01:09
skudasov
force-pushed
the
fix-vu-creation-races
branch
from
December 19, 2024 01:35
573794e
to
8f95af4
Compare
skudasov
force-pushed
the
fix-vu-creation-races
branch
from
December 19, 2024 01:56
23551b9
to
ae0b703
Compare
skudasov
changed the title
Fix vu creation races
Eliminate VU races, unify execution loop
Dec 19, 2024
skudasov
force-pushed
the
fix-vu-creation-races
branch
from
December 19, 2024 05:39
f81d161
to
dc39dbe
Compare
skudasov
force-pushed
the
fix-vu-creation-races
branch
from
December 19, 2024 06:13
44860c1
to
5d5f5cb
Compare
skudasov
changed the title
Eliminate VU races, unify execution loop
Eliminate VU races, unify execution loop, remove cpu check loop
Dec 19, 2024
Quality Gate failedFailed conditions |
Tofel
approved these changes
Dec 19, 2024
Tofel
merged commit Dec 19, 2024
cb02f63
into
tt-1741-performance-comparison-tool
49 of 53 checks passed
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.
Below is a summarization created by an LLM (gpt-4-0125-preview). Be mindful of hallucinations and verify accuracy.
Why
The changes introduced are aimed at enhancing thread safety and error handling within the virtual user (VU) management and paced call functionality of a load testing tool. Specifically, ensuring mutual exclusion when accessing shared resources and improving robustness in the rate-limited call execution.
What
runExecuteLoop
function, mutual exclusion locks (currentSegmentMu.Lock()
andcurrentSegmentMu.Unlock()
) are added around the code block where virtual users (g.vus
) are appended to the slice. This ensures thread safety when modifying the sharedg.vus
slice.processSegment
function, similar mutual exclusion locks are added around sections where theg.vus
slice is either trimmed or appended to, depending on the new virtual user count. This change prevents concurrent write issues.pacedCall
function is modified to include a preliminary nil check on the rate limiter (g.rl
) reference before attempting to invoke itsTake()
method. This addition prevents potential nil pointer dereferences, enhancing the function's robustness.