Skip to content

docs: Document InnoDBStalledPrimary VTOrc analysis code#2124

Draft
promptless[bot] wants to merge 1 commit into
prodfrom
promptless/vtorc-innodb-stalled-primary
Draft

docs: Document InnoDBStalledPrimary VTOrc analysis code#2124
promptless[bot] wants to merge 1 commit into
prodfrom
promptless/vtorc-innodb-stalled-primary

Conversation

@promptless
Copy link
Copy Markdown
Contributor

@promptless promptless Bot commented May 23, 2026

Open this suggestion in Promptless to view citations and reasoning process

Add documentation for the new InnoDBStalledPrimary analysis code that enables VTOrc to detect MySQL primaries stalled on InnoDB semaphore waits and trigger EmergencyReparentShard for faster recovery.

Trigger Events


Tip: Use Vale? Add your vale.ini when setting up your Docs Collection.

Document the new InnoDBStalledPrimary analysis code that detects when
a MySQL primary is stalled on an InnoDB semaphore wait. This allows
VTOrc to trigger EmergencyReparentShard before mysqld self-kills,
reducing outage duration.

Ref: vitessio/vitess#20169
| `ClusterHasNoPrimary` | VTOrc detects when a shard doesn't have any primary tablet elected | VTOrc runs PlannedReparentShard to elect a new primary |
| `DeadPrimary` | VTOrc detects when the primary tablet is dead | VTOrc runs EmergencyReparentShard to elect a different primary |
| `IncapacitatedPrimary` | VTOrc detects when the primary tablet is consistently failing health checks but is still network-reachable | VTOrc runs PlannedReparentShard, falling back to EmergencyReparentShard if that fails |
| `InnoDBStalledPrimary` | VTOrc detects when the primary's MySQL is stalled on an InnoDB semaphore wait (mysqld is alive but writes are not committing). Requires MySQL 8.0+ and SELECT privilege on `performance_schema.error_log` for the `dba` user. | VTOrc runs EmergencyReparentShard to elect a different primary |
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Added InnoDBStalledPrimary recovery action based on PR #20169 which implements the InnoDBStalledPrimary analysis code, the HasRecentInnoDBLongSemaphoreWait function in go/vt/mysqlctl/replication.go, and the recovery wiring in go/vt/vtorc/logic/topology_recovery.go.

Source: vitessio/vitess#20169

@netlify
Copy link
Copy Markdown

netlify Bot commented May 23, 2026

Deploy Preview for vitess ready!

Name Link
🔨 Latest commit f32a7e2
🔍 Latest deploy log https://app.netlify.com/projects/vitess/deploys/6a10fcf9de66aa0008bd9249
😎 Deploy Preview https://deploy-preview-2124--vitess.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

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.

0 participants