-
Notifications
You must be signed in to change notification settings - Fork 5.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Anomalies are detected by jepsen bank-multitable #35459
Comments
It is because some times the ts for lock and ts for read data are not the same. When we are executing tidb/sessiontxn/isolation/repeatable_read.go Lines 134 to 148 in 255dc8c
Line 142 will set p.forUpdateTS to a new value. After that, the executor will be rebuild, when rebuilding Lines 654 to 662 in 255dc8c
It will call updateForUpdateTSIfNeeded and then the newLockCtx will using Lines 1049 to 1050 in d3b79de
However the executor will use provider's ts to read data, and providerTS < TxnCtx.forUpdateTS, so if there is a commit between them, the executor will lock success but read a stale value. |
Bug Report
Please answer these questions before submitting your issue. Thanks!
1. Minimal reproduce step (Required)
Run jepsen bank-multitable workload.
2. What did you expect to see? (Required)
The test passed.
3. What did you see instead (Required)
4. What is your TiDB version? (Required)
master @ 395ccbe
The text was updated successfully, but these errors were encountered: