-
Notifications
You must be signed in to change notification settings - Fork 636
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
[e2e] Simplify pre-funded key usage #3011
Draft
marun
wants to merge
4
commits into
master
Choose a base branch
from
e2e-simplify-key-usage
base: master
Could not load branches
Branch not found: {{ refName }}
Could not load tags
Nothing to show
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.
Draft
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
marun
force-pushed
the
e2e-simplify-key-usage
branch
2 times, most recently
from
May 10, 2024 04:13
d0d2262
to
de1e0c0
Compare
abi87
approved these changes
May 10, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
marun
force-pushed
the
e2e-simplify-key-usage
branch
from
May 13, 2024 17:56
aa27154
to
0ba5d07
Compare
As part of refactoring the e2e tests for reuse in antithesis and load testing, this change simplifies key usage so that tests can be supplied a specific pre-funded key rather than retrieving their own key at runtime. Fund usage is also minimized. It should be possible to run most tests repeatedly for extended periods of time without running out of keys or funds. Previously, pre-funded keys were distributed via an http server to ensure a given key was used by at most a single test. This was intended to ensure compatibility with parallel test execution by guaranteeing that no pre-funded key would ever be used concurrently. Since ginkgo uses process-based parallization, it's sufficient to ensure that each process is allocated a single unique key. The tests assigned to run in a given test process are executed sequentially so a key won't be in danger of concurrent usage. As part of this change, the virtuous test was updated to use one pre-funded key to fund a new set of keys. Previously 10 pre-funded keys were required.
Updated to fix an unrelated latent bug that cause the e2e job to fail. |
marun
force-pushed
the
e2e-simplify-key-usage
branch
from
May 15, 2024 17:43
e872971
to
289678d
Compare
I need to fix the periodic e2e failures introduced by this change. |
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.
Why this should be merged
As part of refactoring the e2e tests for reuse in antithesis and load testing, this change simplifies key usage so that tests can be supplied a specific pre-funded key rather than retrieving their own key at runtime. Fund usage is also minimized . It should be possible to run most tests repeatedly for extended periods of time without running out of keys or funds.
How this works
Previously, pre-funded keys were distributed via an http server to ensure a given key was used by at most a single test. This was intended to ensure compatibility with parallel test execution by guaranteeing that no pre-funded key would ever be used concurrently.
Since ginkgo uses process-based parallization, it's sufficient to ensure that each process is allocated a unique key. The tests assigned to run in a given test process are executed sequentially so a key won't be in danger of concurrent usage.
As part of this change, the virtuous test was updated to use the one funded key to fund a new set of keys. Previously 10 pre-funded keys were required.
How this was tested
CI, local parallel execution