fix: bound default lock wait timeout#25709
Conversation
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
Roll back the whole transaction on error 1205, use a 120-second transitional default, and add a bounded lockservice safety ceiling with deadline propagation and observability. Propagate per-execution budgets for background SQL and deduplicate slow-wait warnings. Part of matrixorigin#24915
XuPeng-SH
left a comment
There was a problem hiding this comment.
Reviewed ca2a670.
The timeout budget is bounded end-to-end across frontend/session propagation, local and remote lockservice paths, async waiter re-queues, lockop retries, and the safety ceiling. Waiter timers/cancellation/cleanup are symmetric, and whole-transaction rollback is covered for MySQL 1205.
Locally verified the focused lockservice/frontend/executor/lockop tests, including race coverage for waiter timer/notify and lockop deadline paths; go vet and diff checks pass. The latest delta also deterministically covers every whole-txn rollback error code.
What type of PR is this?
Which issue(s) this PR fixes:
issue #24915
What this PR does / why we need it:
fix: bound default lock wait timeout