You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 669ef69
Browse filesBrowse the repository at this point in the historyBrowse files
[2/4 messagequeue] Shard MySQL queues by tenant identity
## Summary
### Why?
Vitess needs a stable vindex that is not the Kafka-style partition key. Isolation has to be an explicit tenant column, with identity carried on publish and consume so two tenants sharing a partition key cannot collide.
### What?
- Prefix every queue table and store query with tenant; set queue_offsets PK to (tenant, topic, partition_key, consumer_group).
- Use typed (tenant, partitionKey) identities in consumers, gates, and MySQL workers; stop workers when lease discovery cannot confirm ownership.
- Require tenant on publish.Message and validate payload queue against message tenant in pipeline controllers (the publish signature change is not compilable without those call sites).
- Add ParseRequiredTenants and wire Stovepipe ingest to the configured tenant list so NewIngestController still builds.
- Require tenant xor all-tenants on MQ admin list commands; message inspect/delete/requeue take the full (tenant, topic, partition, id) identity.
## Test Plan
✅ `go test` on mysql, publish, consumer, messagequeue identity, service/messagequeue, and start controller
Co-authored-by: Cursor <cursoragent@cursor.com>
0 commit comments