-
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
unstable test testSuite5.TestSelectGlobalVar
#25272
Comments
I believe I might have figured out the cause of this! It is in this function: Lines 112 to 146 in c70662b
The Lock is only held when replacing the cache, not when reading the table values (
Thus the update request 2 is completely lost. We know that there are concurrent calls to The fix is to hold the lock when reading the table values. This ensures updates are ordered and no requests are lost. |
The only other possibility is that Lines 1118 to 1129 in c70662b
But I don't think this is the case, since the line above ( |
How about let For example, you can
|
@tiancaiamao This is also used by Lines 47 to 58 in 1e5000c
SysVarCache and can't call domain.NotifyUpdateSysVarCache .
I could add the channel to the |
Please edit this comment or add a new comment to complete the following informationBugConcurrent execution of 1. Root Cause Analysis (RCA) (optional)A mutex is required to prevent concurrent sysvar cache generation. 2. Symptom (optional)3. All Trigger Conditions (optional)4. Workaround (optional)5. Affected versions[v5.1.0,v5.3.0] 6. Fixed versionsmaster |
Bug Report
Please answer these questions before submitting your issue. Thanks!
1. Minimal reproduce step (Required)
in ci https://ci.pingcap.net/blue/rest/organizations/jenkins/pipelines/tidb-unit-test-nightly/runs/261/nodes/104/steps/344/log/?start=0
2. What did you expect to see? (Required)
3. What did you see instead (Required)
4. What is your TiDB version? (Required)
master 7538818
The text was updated successfully, but these errors were encountered: