-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
release-23.1: roachtest: port tpcc/mixed-headroom to the new framework + refactor test context #114647
release-23.1: roachtest: port tpcc/mixed-headroom to the new framework + refactor test context #114647
Conversation
Note that the new framework randomizes how many version upgrades occur. This removes the need for both a single upgrade and multiple upgrade test and the two were merged. Release note: None Fixes: cockroachdb#110537
This commit implements a couple of changes in the test context. First, it adds a few new functions on `Context` that make it easy for tests to determine what version a node is running, if the cluster is in mixed-binary state, what nodes are running the previous and next versions, etc. In addition, the test planner is also changed such that every `singleStep` (i.e., every step that leads to _something_ happening in the test) now has an associated runtime context. Previously, only user-hooks (`runHookStep`) would have a context associated with them. Epic: none Release note: None
Before each step executes, the `mixedversion` test runner logs the current logical binary and cluster versions. With this change, we now also log the released binary versions. This should make it even clearer to understand the context the step is running in at a glance. The information is also shown in test failures for steps that are not "long running" (i.e., background steps or monitor events). Fixes: cockroachdb#112431. Release note: None
Thanks for opening a backport. Please check the backport criteria before merging:
If your backport adds new functionality, please ensure that the following additional criteria are satisfied:
Also, please add a brief release justification to the body of your PR to justify this |
Your pull request contains more than 1000 changes. It is strongly encouraged to split big PRs into smaller chunks. 🦉 Hoot! I am a Blathers, a bot for CockroachDB. My owner is dev-inf. |
The test context includes information about the versions running on different nodes. It is static and computed during planning time. To make it more explicit that no computation happens when a test calls `h.Context()`, this commit makes the context a field of the helper struct. Epic: none Release note: None
This makes formatting of cluster and binary versions easier to read by formatting them using the `tabwriter` package. Epic: none Release note: None
3dd93a4
to
ba1c1fb
Compare
Would you like me to backport #114381 or do you just want to add it in here? |
When using metamorphic builds, this test would very rarely timeout or almost timeout. This change raises the timeout to 4 hours. Epic: none Release note: none Fixes: cockroachdb#114281
Good call, I forgot about that one. Added to this backport 👍 |
The test uses the `crdb_internal.kv_set_queue_active` builtin, which is only available on v22.1+. Epic: none Release note: None
Pushed a commit with an update to |
All tests:
https://teamcity.cockroachdb.com/viewLog.html?buildId=12734315&tab=queuedBuildOverviewTab TFTR! |
Backport:
Please see individual PRs for details.
Release justification: test-only changes.
/cc @cockroachdb/release