[1/4 messagequeue] RFC: per-tenant sharding for the MySQL message queue - #693
Open
behinddwalls wants to merge 3 commits into
Open
[1/4 messagequeue] RFC: per-tenant sharding for the MySQL message queue#693behinddwalls wants to merge 3 commits into
behinddwalls wants to merge 3 commits into
Conversation
## Summary ### Why? Vitess needs a stable vindex that is not the Kafka-style partition key. SubmitQueue already uses partition_key for ordering, so hashing it would scatter one queue across shards and mix tenants. ### What? - Add the per-tenant MQ sharding RFC: tenant column as the vindex, queueName mapped at wiring, partition_key remaining the in-tenant ordering unit. - Link the RFC from the index and note the consumer-gate interaction. ## Test Plan Docs only. Review the RFC against the follow-up implementation PRs. Co-authored-by: Cursor <cursoragent@cursor.com>
This was referenced Sep 8, 2026
## Summary ### Why? Vitess is the product, not the contract. The RFC should talk about sharded MySQL and a tenant shard key so the design does not read as Vitess-specific. ### What? - Drop the RFC metadata table. - Rename the RFC to per-tenant sharding for the MySQL message queue and replace vindex/Vitess wording with shard key and sharded MySQL. Co-authored-by: Cursor <cursoragent@cursor.com>
## Summary ### Why? VARCHAR(255) is not a single byte budget. Reviewers need to know why operational IDs are ascii_bin and partition keys are utf8mb4_bin, including the 255-byte vs 255-character distinction and InnoDB's 3072-byte key cap. ### What? - Explain CHARACTER SET ascii COLLATE ascii_bin vs utf8mb4/utf8mb4_bin, NOT NULL, and the per-column limits in the tenant-sharding RFC. Co-authored-by: Cursor <cursoragent@cursor.com>
behinddwalls
marked this pull request as ready for review
September 8, 2026 06:11
mnoah1
approved these changes
Sep 9, 2026
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.
Summary
Why?
Vitess is the product, not the contract. The RFC should talk about sharded MySQL and a tenant shard key so the design does not read as Vitess-specific.
What?
Test Plan
Issues
Stack