Upgrade Vitess to main - #100
Merged
Merged
Conversation
The pinned Vitess commit is on the unmerged `values-join-planner` branch. Its end-to-end cluster starts vtctld with `--log_dir`, which Vitess v25 removes, so Vitess CI fails when it runs this tester. This upgrades Vitess to main. Vitess main has no `MySQLCompare.SetAllowAnyFieldSize`, so the tester matches the Vitess field types to the MySQL field types that differ only in size before it compares the results. It also passes the cell to `StartKeyspace` for VTOrc and moves `summarize` to the `tablewriter` v1 API with the same table output. Signed-off-by: Mohamed Hamza <mhamza@fastmail.com>
The directive depends on `MySQLCompare.SetAllowAnyFieldSize`, which Vitess main does not have. Remove the directive and its state. Signed-off-by: Mohamed Hamza <mhamza@fastmail.com>
mhamza15
marked this pull request as ready for review
September 30, 2026 15:44
mhamza15
added a commit
to mhamza15/vitess
that referenced
this pull request
Sep 30, 2026
The pinned vitess tester starts vtctld with `--log_dir`. vitessio/vt#100 upgrades its Vitess dependency. Build the tester from the head commit of that pull request until it merges. Signed-off-by: Mohamed Hamza <mhamza@fastmail.com>
golangci-lint v2.0.2 is built with Go 1.24 and cannot load a module that targets Go 1.27.1. Signed-off-by: Mohamed Hamza <mhamza@fastmail.com>
Return the tablewriter errors from the trace summaries, name the default xxhash vindex with a constant, and use fmt.Fprintf in place of WriteString with fmt.Sprintf. Signed-off-by: Mohamed Hamza <mhamza@fastmail.com>
mhamza15
added a commit
to mhamza15/vitess
that referenced
this pull request
Sep 30, 2026
Signed-off-by: Mohamed Hamza <mhamza@fastmail.com>
The install script on the golangci-lint master branch matches the new SBOM entries in the v2.14.0 checksums file and fails to verify the archive. The script at golangci-lint.run matches the archive name exactly. Signed-off-by: Mohamed Hamza <mhamza@fastmail.com>
mhamza15
added a commit
to mhamza15/vitess
that referenced
this pull request
Sep 30, 2026
Signed-off-by: Mohamed Hamza <mhamza@fastmail.com>
2 of 5 tasks
mhamza15
requested review from
arthurschreiber and
mattlord
and
a balanced review from Copilot
September 30, 2026 17:06
mattlord
approved these changes
Sep 30, 2026
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The Makefile still accepts Go versions below the module’s new 1.27.1 requirement.
Review effort: Balanced
Findings: 1
Open (1)
What changed in this PR
Upgrades Vitess to main and adapts the tester to related API and tooling changes.
Changes:
- Updates Vitess, Go, golangci-lint, and transitive dependencies.
- Adapts cluster startup and table rendering APIs.
- Removes unsupported field-size comparison directives and resolves lint findings.
| File | Description |
|---|---|
Makefile |
Upgrades golangci-lint installation. |
go.mod |
Raises Go version and updates dependencies. |
go.sum |
Refreshes dependency checksums. |
go/data/keyspace.go |
Centralizes the default vindex name. |
go/data/typ.go |
Removes the field-size directive. |
go/markdown/markdown.go |
Writes formatted output directly. |
go/summarize/summarize-trace.go |
Migrates tables to tablewriter v1. |
go/summarize/summarize-trace_test.go |
Updates table-rendering tests. |
go/summarize/summarize.go |
Handles rendering errors. |
go/tester/comparing_query_runner.go |
Removes unsupported comparison behavior. |
go/tester/execute.go |
Supplies the VTOrc cell when starting keyspaces. |
go/tester/state/state.go |
Removes obsolete state handling. |
go/tester/tester.go |
Removes obsolete directive dispatch. |
go/tester/tracer.go |
Resolves formatted-write linting. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| github.com/sirupsen/logrus v1.9.3 | ||
| github.com/stretchr/testify v1.10.0 | ||
| ) | ||
| go 1.27.1 |
`setupExternalMySQL` calls `utils.NewMySQL` once per keyspace and returns the connection parameters of the last server. Vitess starts each `NewMySQL` server in a random directory since vitessio/vitess#18096, so every call starts a new server. The returned server has only the last keyspace database, and queries against the other keyspaces fail with `Unknown database`. This starts one server for the first keyspace and creates the other keyspace databases on it. Signed-off-by: Mohamed Hamza <mhamza@fastmail.com>
arthurschreiber
approved these changes
Oct 1, 2026
mhamza15
added a commit
to mhamza15/vitess
that referenced
this pull request
Oct 1, 2026
The pinned Vitess tester starts vtctld with `--log_dir`. vitessio/vt#100 upgrades its Vitess dependency and starts one reference MySQL server for all keyspaces. This installs the tester from the merge commit of that pull request. Signed-off-by: Mohamed Hamza <mhamza@fastmail.com>
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.

The pinned Vitess commit is on the unmerged
values-join-plannerbranch. Its end-to-end cluster starts vtctld with--log_dir, which Vitess v25 removes (vitessio/vitess#21309), so Vitess CI fails when it runs this tester.This upgrades Vitess to main. Vitess main has no
MySQLCompare.SetAllowAnyFieldSize, so this also removes theallow_different_field_sizesdirective that depends on it. It passes the cell toStartKeyspacefor VTOrc and movessummarizeto thetablewriterv1 API with the same table output.The Vitess upgrade raises the
godirective to 1.27.1. golangci-lint v2.0.2 cannot load a Go 1.27 module, so this upgrades it to v2.14.0 and fixes its new findings.