Bug Report
If (*client).dispatchTSORequestWithRetry directly calls tryDone() due to the error of context canceled, the caller might get the TSO result and put the request back into the pool. At this time, the old tsoClient may have data races with the new tsoClient when cleaning up residual TSO requests.
This is also the root cause of #8055.
Bug Report
If
(*client).dispatchTSORequestWithRetrydirectly callstryDone()due to the error of context canceled, the caller might get the TSO result and put the request back into the pool. At this time, the oldtsoClientmay have data races with the newtsoClientwhen cleaning up residual TSO requests.This is also the root cause of #8055.