-
Notifications
You must be signed in to change notification settings - Fork 411
Closed
Labels
component/computetype/enhancementThe issue or PR belongs to an enhancement.The issue or PR belongs to an enhancement.
Description
Enhancement
Currently, error handling/cancel in TiFlash is error prone, it has caused many issues such as #4441, #4219, #4202 etc.
We want to refine the error handling/cancel logical in TiFlash MPP system to make it less error prone.
Some basic ideas:
- Refine
MPPTunnelMPPTunnelhas 3 mode:local,syncandasync, currently, the implementation ofMPPTunnelis based onis_localandis_asyncflag, which makes the code complex and error prone.
MPPTunnel/BlockIO/ExchangeReceivershould be treated as the top level components inMPPTask- Each top level components in
MPPTaskshould implement its owncancelandhandleErrormethod - Like
MPPTask::cancel, there should be a method likeMPPTask::handleErrormethod to handle errors based on task status - Like
cancel, there should be a query level error handling method, so once aMPPTaskmeet error, all the related tasks in the same TiFlash node can see the error and stop running - Local tunnel should not introduce direct dependency from send task to receive task
- As Do not print
write to tunnel which is already closedlog if query is canceled expectedly before #4208 avoid to print too much meaningless log when error/cancel happens
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
component/computetype/enhancementThe issue or PR belongs to an enhancement.The issue or PR belongs to an enhancement.