Skip to content

Upgrade Vitess to main - #100

Merged
mhamza15 merged 6 commits into
vitessio:mainfrom
mhamza15:bump-vitess
Oct 1, 2026
Merged

mhamza15 merged 6 commits into
vitessio:mainfrom
mhamza15:bump-vitess

Conversation

@mhamza15

@mhamza15 mhamza15 commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor

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 (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 the allow_different_field_sizes directive that depends on it. It passes the cell to StartKeyspace for VTOrc and moves summarize to the tablewriter v1 API with the same table output.

The Vitess upgrade raises the go directive 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.

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
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>
@mhamza15
mhamza15 requested review from arthurschreiber and mattlord and a balanced review from Copilot September 30, 2026 17:06

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 High severity

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.

Comment thread go.mod
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>
@mhamza15
mhamza15 merged commit cee2a06 into vitessio:main Oct 1, 2026
1 check passed
@mhamza15
mhamza15 deleted the bump-vitess branch October 1, 2026 15:34
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants