Skip to content

vtadmin /schemas sort results by distance (exact matches up top)#800

Open
neil-harkins-sf wants to merge 235 commits into
mainfrom
slack-19.0
Open

vtadmin /schemas sort results by distance (exact matches up top)#800
neil-harkins-sf wants to merge 235 commits into
mainfrom
slack-19.0

Conversation

@neil-harkins-sf
Copy link
Copy Markdown

This is what /schemas?filter=users looks like today:
Screenshot 2026-02-16 at 3 58 53 AM
Screenshot 2026-02-16 at 3 59 40 AM
Screenshot 2026-02-16 at 4 01 17 AM

i.e. there is a table named exactly users, which is what i'm looking for (to see columns), but it appears on page 2 (51 - 100 of 130 results). The change in this PR will put exact matches at the top.

systay and others added 30 commits February 5, 2024 15:48
…io#15141) (vitessio#15147)

Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
…) (vitessio#15155)

Signed-off-by: Andrew Mason <andrew@planetscale.com>
Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
…#15144)

Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
…sio#15143)

Signed-off-by: Andres Taylor <andres@planetscale.com>
…ssio#15148) (vitessio#15150)

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Florent Poinsard <35779988+frouioui@users.noreply.github.com>
Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Mason <amason@hey.com>
…ease (vitessio#15165)

Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Vicent Marti <vmg@strn.cat>
Co-authored-by: Vicent Marti <vmg@strn.cat>
…#15180) (vitessio#15181)

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Signed-off-by: Vicent Marti <vmg@strn.cat>
Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Vicent Marti <vmg@strn.cat>
Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
Co-authored-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
…og daemon disabled (vitessio#15176) (vitessio#15186)

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
…vitessio#15196)

Signed-off-by: Eduardo J. Ortega U <5791035+ejortegau@users.noreply.github.com>
Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
Signed-off-by: Andrew Mason <andrew@planetscale.com>
Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
) (vitessio#15206)

Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Vicent Marti <vmg@strn.cat>
Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
Co-authored-by: Vicent Marti <vmg@strn.cat>
…tessio#15197) (vitessio#15209)

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
…tessio#15210) (vitessio#15213)

Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
…itessio#15235) (vitessio#15239)

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
…nalysis in two (vitessio#15217) (vitessio#15230)

Signed-off-by: Andres Taylor <andres@planetscale.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Florent Poinsard <35779988+frouioui@users.noreply.github.com>
Co-authored-by: Andres Taylor <andres@planetscale.com>
…itessio#15246)

Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
… cleanup (vitessio#15261) (vitessio#15265)

Signed-off-by: Matt Lord <mattalord@gmail.com>
Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
Co-authored-by: Matt Lord <mattalord@gmail.com>
…15264)

Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
…sio#15259)

Signed-off-by: Harshit Gangal <harshit@planetscale.com>
Signed-off-by: Florent Poinsard <35779988+frouioui@users.noreply.github.com>
Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
Co-authored-by: Harshit Gangal <harshit@planetscale.com>
Co-authored-by: Florent Poinsard <35779988+frouioui@users.noreply.github.com>
Co-authored-by: Florent Poinsard <florent.poinsard@outlook.fr>
…itessio#15218) (vitessio#15255)

Signed-off-by: Manan Gupta <manan@planetscale.com>
Co-authored-by: Manan Gupta <35839558+GuptaManan100@users.noreply.github.com>
Co-authored-by: Manan Gupta <manan@planetscale.com>
…ssio#15275) (vitessio#15282)

Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
…itessio#15279) (vitessio#15285)

Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
…/Precision (vitessio#15256) (vitessio#15269)

Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
…o#15251) (vitessio#15286)

Signed-off-by: Matt Layher <mdlayher@planetscale.com>
Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
vitessio#15204) (vitessio#15292)

Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com>
Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
… (vitessio#15301)

Signed-off-by: Manan Gupta <manan@planetscale.com>
Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
rvrangel and others added 19 commits November 6, 2025 09:47
Signed-off-by: Renan Rangel <rrangel@slack-corp.com>
* Fix GC table regex for lower case compatibility

* gofmt
…se cases (vitessio#18938) (#755)

Signed-off-by: twthorn <thomaswilliamthornton@gmail.com>
Co-authored-by: Manan Gupta <35839558+GuptaManan100@users.noreply.github.com>
…onnection reopen (vitessio#18967) (#759)

* connpool: fix connection leak during idle connection reopen (vitessio#18967)

Signed-off-by: Arthur Schreiber <arthur@planetscale.com>
Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>

* change require to assert

Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>

* fix test

Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>

---------

Signed-off-by: Arthur Schreiber <arthur@planetscale.com>
Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>
Co-authored-by: Arthur Schreiber <arthurschreiber@github.com>
Signed-off-by: Manan Gupta <manan@planetscale.com>
Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>
Co-authored-by: Manan Gupta <35839558+GuptaManan100@users.noreply.github.com>
…logic (19004) (#763)

* Change how we expire idle connections.

Signed-off-by: Arthur Schreiber <arthur@planetscale.com>
Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>

* Add a test.

Signed-off-by: Arthur Schreiber <arthur@planetscale.com>

* Loosen up test requirements.

Signed-off-by: Arthur Schreiber <arthur@planetscale.com>

* Expire only up to 50% of the connections, and add some comments.

Signed-off-by: Arthur Schreiber <arthur@planetscale.com>

* Also pre-allocate the valid connections slice.

Signed-off-by: Arthur Schreiber <arthur@planetscale.com>

* Skip slice allocations for empty stacks.

Signed-off-by: Arthur Schreiber <arthur@planetscale.com>

* Fix benchmark setup.

Signed-off-by: Arthur Schreiber <arthur@planetscale.com>

* fix b.Loop

Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>

---------

Signed-off-by: Arthur Schreiber <arthur@planetscale.com>
Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>
Co-authored-by: Arthur Schreiber <arthur@planetscale.com>
* Improve logging in buffering (vitessio#17294)

Signed-off-by: Manan Gupta <manan@planetscale.com>
Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>

* Improve vtgate logging for buffering (vitessio#17654)

Signed-off-by: deepthi <deepthi@planetscale.com>
Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>

---------

Signed-off-by: Manan Gupta <manan@planetscale.com>
Signed-off-by: Tanjin Xu <tanjin.xu@slack-corp.com>
Signed-off-by: deepthi <deepthi@planetscale.com>
Co-authored-by: Manan Gupta <35839558+GuptaManan100@users.noreply.github.com>
Co-authored-by: Deepthi Sigireddi <deepthi@planetscale.com>
#764)

* VStream: Prevent buffering entire transactions (OOM risk), instead send chunks to client (vitessio#18849)

Signed-off-by: twthorn <thomaswilliamthornton@gmail.com>

* Fix static code checks

Signed-off-by: twthorn <thomaswilliamthornton@gmail.com>

* Remove utils import

Signed-off-by: twthorn <thomaswilliamthornton@gmail.com>

* Fix keyspaces to watch test

Signed-off-by: twthorn <thomaswilliamthornton@gmail.com>

---------

Signed-off-by: twthorn <thomaswilliamthornton@gmail.com>
Co-authored-by: Tanjin Xu <109303790+tanjinx@users.noreply.github.com>
…ons (#768)

* [release-19.0] Implement temporal comparisons (vitessio#17826) (vitessio#17852)

Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>

* [release-19.0] Fix week number for date_format evalengine function (vitessio#17432) (vitessio#17454)

Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
Signed-off-by: Manan Gupta <manan@planetscale.com>
Co-authored-by: Manan Gupta <35839558+GuptaManan100@users.noreply.github.com>
Co-authored-by: Manan Gupta <manan@planetscale.com>

---------

Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com>
Signed-off-by: Manan Gupta <manan@planetscale.com>
Co-authored-by: vitess-bot[bot] <108069721+vitess-bot[bot]@users.noreply.github.com>
Co-authored-by: Dirkjan Bussink <d.bussink@gmail.com>
Co-authored-by: Manan Gupta <35839558+GuptaManan100@users.noreply.github.com>
Co-authored-by: Manan Gupta <manan@planetscale.com>
…LOB for VReplication (vitessio#19119) (#770)

This backport increases the GTID position column size from BLOB to LONGBLOB
in VReplication tables to prevent data truncation for large GTID sets.

Backported from vitessio#19119
Original commit: fc242ff

Changes:
- Update schema_version.sql to use LONGBLOB for pos column
- Update vreplication.sql to use LONGBLOB for pos column
- Update schema tests to reflect new column type

Note: Test file changes from upstream were not included as they depend on
features not present in slack-19.0 branch. Core schema changes are sufficient.
Co-authored-by: Tanjin Xu <109303790+tanjinx@users.noreply.github.com>
…also send Serve… (#775)

* [Direct PR] [release-21.0] Augment `PrimaryStatus` to also send Server UUID (vitessio#17032)

Signed-off-by: Manan Gupta <manan@planetscale.com>

* test: disable two failing VTOrc primary failure tests

Disable flaky tests:
- TestDownPrimaryPromotionRuleWithLag
- TestDownPrimaryPromotionRuleWithLagCrossCenter

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>

* test: fix redo log verification timeout in backup test

Add two safeguards to prevent TestTabletInitialBackup from timing out:

1. Check if performance_schema.error_log table exists and is accessible
   before querying it for redo log error codes
2. Add a 10-second timeout for the verification loop to prevent indefinite
   waiting if the error codes never appear in the error_log

The performance_schema.error_log table requires MySQL 8.0.22+ and specific
configuration. Even when the table exists, it may not be configured to log
the redo log disable/enable events (MY-013600, MY-013601). If the
verification times out, it now logs a message and skips gracefully instead
of failing the entire test.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>

* test: fix race condition in TestServerStats

Use assert.EventuallyWithT to wait for connection cleanup instead of
checking connCount and connSlow immediately after client disconnect.
The server's cleanup goroutine needs time to execute defer statements
that update these metrics.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>

---------

Signed-off-by: Manan Gupta <manan@planetscale.com>
Co-authored-by: Manan Gupta <35839558+GuptaManan100@users.noreply.github.com>
Co-authored-by: Claude <svc-devxp-claude@slack-corp.com>
* Set last release to release-18.0 to pass downgrade/upgrade tests

* Set previous build to v19 train 1

* set last release to v19.0.7-slack-t3.6

* set last release to v19.0.7-slack-t3.6
* Fix: transition to `math/rand/v2` for Improved Performance and Code Clarity (vitessio#15438)

Signed-off-by: Aoang <aoang@x2oe.com>
Signed-off-by: Eduardo Ortega <5791035+ejortegau@users.noreply.github.com>

* Linkname removal (step 1) (vitessio#16016)

Signed-off-by: Vicent Marti <vmg@strn.cat>

---------

Signed-off-by: Aoang <aoang@x2oe.com>
Signed-off-by: Eduardo Ortega <5791035+ejortegau@users.noreply.github.com>
Signed-off-by: Vicent Marti <vmg@strn.cat>
Co-authored-by: Aoang <aoang@x2oe.com>
Co-authored-by: Vicent Martí <42793+vmg@users.noreply.github.com>
…dle more cases. (vitessio#16926) (#779)

* Improve errant GTID detection in ERS to handle more cases. (vitessio#16926)

Signed-off-by: Manan Gupta <manan@planetscale.com>

* disable upgrade_downgrade_test_reparent_old_vttablet.yml

* skip TestAliasesInOuterJoinQueries

---------

Signed-off-by: Manan Gupta <manan@planetscale.com>
Co-authored-by: Manan Gupta <35839558+GuptaManan100@users.noreply.github.com>
vitessio#18132) (#780)

* [release-19.0] DML test fix for duplicate column value (vitessio#18132)

* fix: enable Percona tools repository before ps80 setup

Percona repository structure now requires the tools repository to be
enabled before setting up ps80. This fixes the CI error:
"Selected product uses 'ps-80 tools' repositories. But the 'tools'
repository is disabled"

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>

---------

Co-authored-by: Harshit Gangal <harshit@planetscale.com>
Co-authored-by: Claude <svc-devxp-claude@slack-corp.com>
@salesforce-cla
Copy link
Copy Markdown

Thanks for the contribution! Before we can merge this, we need @systay @frouioui to sign the Salesforce Inc. Contributor License Agreement.

tanjinx and others added 4 commits March 3, 2026 09:33
…essio#19405) (#812)

Backport of upstream commit 1b415ec to slack-19.0.

Passes the backup engine name (from BackupManifest.BackupMethod) to the
vttablet_restore_done hook via the TM_RESTORE_DATA_BACKUP_ENGINE
environment variable.

- Extract inline hook code into invokeRestoreDoneHook method
- Change restoreDataLocked to return (string, error) with backup engine
- Add TM_RESTORE_DATA_BACKUP_ENGINE env var to hook
- Add tests for invokeRestoreDoneHook

Co-authored-by: Claude <svc-devxp-claude@slack-corp.com>
…MANIFEST` on restore (vitessio#19470) (#806)

* `backupengine`: disallow path traversals via backup `MANIFEST` on restore (vitessio#19470)

Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>

* Address dir traversal in file backup storage `.ListBackups(...)` (vitessio#18814)

Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>

* fix for upstream cherry-pick

---------

Signed-off-by: Tim Vaillancourt <tim@timvaillancourt.com>
Co-authored-by: Tim Vaillancourt <tim@timvaillancourt.com>
…2) (#813)

The logging added in 08b7347 for vtgate buffering debug info was too
noisy for production. Change all log.Infof calls to log.V(2).Infof so
they only appear when verbosity level >= 2 is enabled.

Co-authored-by: Claude <svc-devxp-claude@slack-corp.com>
The vttablet_restore_done hook was only invoked from the RestoreData
(startup) path, but not from the RestoreFromBackup RPC handler. This
meant restores triggered via vtctldclient never fired the hook.

Signed-off-by: Stas Maksimov <smaksimov@slack-corp.com>
Co-authored-by: Claude <svc-devxp-claude@slack-corp.com>
ejortegau and others added 2 commits April 24, 2026 11:21
…ection (#827) (#842)

* smartconnpool: add per-pool waiter cap to limit queries waiting for a connection (#827)

This is backport of vitessio#19811

Adds a configurable limit on the number of queries that can wait for a connection from each pool. When the cap is reached, new requests are rejected immediately with RESOURCE_EXHAUSTED instead of queueing unboundedly.

New flags (Default 0 = unlimited):
--queryserver-config-query-pool-waiter-cap
--queryserver-config-stream-pool-waiter-cap
--queryserver-config-txpool-waiter-cap

How it works

Cap enforcement lives inside waitlist.waitForConn using a double-checked locking pattern: a lockless atomic pre-check rejects most over-cap requests early, and a strict check under the mutex guarantees correctness.
WaitCount is now incremented via a callback (onWait) when the wait actually begins (before mutex acquisition), not after completion.

A new WaiterCapRejected counter (exposed as {name}WaiterCapRejected) tracks how many requests were rejected due to the cap.

New metrics
Metric	Type	Description
{pool}WaiterCapRejected	Counter	Requests rejected because the waiter cap was reached

---------

Signed-off-by: Eduardo Ortega <5791035+ejortegau@users.noreply.github.com>
Co-authored-by: Claude <svc-devxp-claude@slack-corp.com>

* fix: Remove deprecated waiter-cap flag stubs that conflict with backported per-pool waiter cap flags

The backported smartconnpool waiter cap PR re-added the *-waiter-cap flags as real UintVar flags,
but the existing deprecated IntVar stubs for the same flag names were still present, causing a
"flag redefined" panic at startup.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>

---------

Signed-off-by: Eduardo Ortega <5791035+ejortegau@users.noreply.github.com>
Co-authored-by: Claude <svc-devxp-claude@slack-corp.com>
* Backport proto3 row caching for query consolidator to slack-19.0

Backport of vitessio#19872, which was already cherry-picked to
slack-22.0 in #846. When multiple queries are consolidated,
the original query now pre-computes and caches the proto3 row encoding so
that N waiters share the encoded rows instead of each redundantly calling
RowsToProto3.

Gated behind --consolidator-cache-proto3-rows (default false).

Key v19-specific adaptations:
- No InsertIDChanged field (v22-only)
- AppendResult uses src.InsertID != 0 (not InsertIDUpdated())
- Benchmarks use for/b.N loops (Go 1.22, no b.Loop())
- Sizegen format: no blank lines between functions

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>

AI disclosure: Claude Code assisted with development. Every line of code was either written by or carefully reviewed by me :)

* Align flag description with v22 backport

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>

AI disclosure: Claude Code assisted with development. Every line of code was either written by or carefully reviewed by me :)

* Fix sizegen-generated `cached_size.go` files

Two issues from hand-editing the sizegen output:
- `Result.CachedSize` alloc size was 144 (wrong) instead of 128
  (the struct is exactly 128 bytes with `proto3Rows`)
- `Row.CachedSize` had fields in wrong order and used qualified
  type name in comment instead of resolved `[]byte`

AI disclosure: Claude Code assisted with development. Every line of code was either written by or carefully reviewed by me :)

* Fix TestWaitForPosError expected strings for new proto3Rows field

The new proto3Rows field on sqltypes.Result changes the %v output,
adding a trailing ` []` to the formatted struct. Update the two
expected error strings in TestWaitForPosError to match.

AI disclosure: Claude Code assisted with development. Every line of code was either written by or carefully reviewed by me :)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Tanjin Xu <109303790+tanjinx@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

This PR is being marked as stale because it has been open for 30 days with no activity. To rectify, you may do any of the following:

  • Push additional commits to the associated branch.
  • Remove the stale label.
  • Add a comment indicating why it is not stale.

If no action is taken within 7 days, this PR will be closed.

@github-actions github-actions Bot added the Stale label May 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.