retry after context is timeout?
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 1k
- Forks
- 423
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 24
Description
138 [2021/10/25 17:15:34.011 +08:00] [WARN] [mpp.go:393] ["other error"] [txnStartTS=428645617953931268] [storeAddr=10.4.131.219:3930] [error="other error for mpp stream: DB::Exception: Exchange receiver meet error : DB::Exception: tunnel65+69 is timeout"]
139 [2021/10/25 17:15:34.011 +08:00] [WARN] [mpp.go:334] ["establish mpp connection meet error, and retrying"] [error="rpc error: code = Canceled desc = context canceled"] [timestamp=428645617953931268] [task=91]
140 [2021/10/25 17:15:34.011 +08:00] [WARN] [mpp.go:334] ["establish mpp connection meet error, and retrying"] [error="rpc error: code = Canceled desc = context canceled"] [timestamp=428645617953931268] [task=81]
141 [2021/10/25 17:15:34.011 +08:00] [WARN] [mpp.go:334] ["establish mpp connection meet error, and retrying"] [error="rpc error: code = Canceled desc = context canceled"] [timestamp=428645617953931268] [task=100]
142 [2021/10/25 17:15:34.011 +08:00] [WARN] [mpp.go:334] ["establish mpp connection meet error, and retrying"] [error="rpc error: code = Canceled desc = context canceled"] [timestamp=428645617953931268] [task=110]
143 [2021/10/25 17:15:34.012 +08:00] [WARN] [mpp.go:334] ["establish mpp connection meet error, and retrying"] [error="rpc error: code = Canceled desc = context canceled"] [timestamp=428645617953931268] [task=96]
144 [2021/10/25 17:15:34.012 +08:00] [WARN] [mpp.go:337] ["establish mpp connection meet error and cannot retry"] [error="rpc error: code = Canceled desc = context canceled"] [timestamp=428645617953931268] [task=81]
145 [2021/10/25 17:15:34.012 +08:00] [WARN] [mpp.go:334] ["establish mpp connection meet error, and retrying"] [error="rpc error: code = Canceled desc = context canceled"] [timestamp=428645617953931268] [task=86]
146 [2021/10/25 17:15:34.012 +08:00] [WARN] [mpp.go:334] ["establish mpp connection meet error, and retrying"] [error="rpc error: code = Canceled desc = context canceled"] [timestamp=428645617953931268] [task=126]
[428645617953931268.log](https://github.com/pingcap/tics/files/7452166/428645617953931268.log)
...
the log shows that too rpc errors are resulted from failed grpc context timeout about 1min (one of tasks is blocked and returns timeout error after about 1min, and others timeout in the context). So why need to retry on the fact that context is timeout?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with mpp.go around lines 334, 337, and 393, then compare the context-cancellation retry path with the preceding MPP stream timeout in the attached log. Trace how timeout and cancellation errors are classified before retrying. Done means the retry decision for this timeout scenario is explained and the observed behavior is addressed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, grpc
- Domain
- distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100