release-26.2: roachtest: scope db-console endpoint IDs per test invocation#170654
Merged
trunk-io[bot] merged 1 commit intoMay 21, 2026
Conversation
`db-console/endpoints` and `db-console/mixed-version-endpoints` are both registered in the Nightly suite and can be picked up by separate roachtest worker goroutines that share a single process (default `--parallelism=10`). Both tests called `initializeSchemaAndIDs`, which wrote to the package-level globals `tableID`, `databaseID`, and `fingerprintID`. The mixed-version test re-ran initialization on every `InMixedVersion` upgrade step. Because the two tests run against different clusters whose tpcc database/table land at different IDs (a fresh v26.x cluster gives tpcc id ~104; a cluster started at v24.3 and upgraded through migrations lands much higher), one worker's writes silently corrupted the other worker's substitutions in `fillPlaceholders`. The observed symptom in cockroachdb#170167 — `initializeSchemaAndIDs` logs `databaseID: 104` but the URL is built with `database_metadata/170/` — matches a write between the log and the placeholder substitution exactly. Replace the globals with an `endpointIDs` value returned from `initializeSchemaAndIDs` and threaded through `testEndpoints` → `testEndpoint` → `fillPlaceholders`. Fixes: cockroachdb#170167 Release note: None
8abe3c8 to
718c58e
Compare
Contributor
|
😎 Merged successfully - details. |
|
Thanks for opening a backport. Before merging, please confirm that the change does not break backwards compatibility and otherwise complies with the backport policy. Include a brief release justification in the PR description explaining why the backport is appropriate. All backports must be reviewed by the TL for the owning area. While the stricter LTS policy does not yet apply, please exercise judgment and consider gating non-critical changes behind a disabled-by-default feature flag when appropriate. |
Member
Contributor
|
/trunk merge |
5f8a78e
into
cockroachdb:release-26.2
23 of 24 checks passed
This file contains hidden or 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
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.
Backport 1/1 commits from #170293 on behalf of @kyle-a-wong.
Summary
db-console/endpointsanddb-console/mixed-version-endpointsare bothregistered in the Nightly suite and can be picked up by separate roachtest
worker goroutines that share a single process (default
--parallelism=10).Both tests called
initializeSchemaAndIDs, which wrote to the package-levelglobals
tableID,databaseID, andfingerprintID. The mixed-version testre-ran initialization on every
InMixedVersionupgrade step.Because the two tests run against different clusters whose tpcc database/table
land at different IDs (a fresh v26.x cluster gives tpcc id ~104; a cluster
started at v24.3 and upgraded through migrations lands much higher), one
worker's writes silently corrupted the other worker's substitutions in
fillPlaceholders. The observed symptom in #170167 —initializeSchemaAndIDslogs
databaseID: 104but the URL is built withdatabase_metadata/170/—matches a write between the log and the placeholder substitution exactly.
This change replaces the globals with an
endpointIDsvalue returned frominitializeSchemaAndIDsand threaded throughtestEndpoints→testEndpoint→fillPlaceholders. The DEBUG-404 logging block added ina9b7a41 is left in place for one more confirming run; it can be removed
in a follow-up.
Fixes: #170167
Epic: none
Release note: None
Release justification: