You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If task A fail due to Expr Error, the exchange sender will be dropped, task A will notify frontend scheduler this error, and scheduler will cancel other tasks. At same time, task B will read from exchange receiver. Because all events are happen asynchrounsly, it's possible that after task A failed, exchange sender dropped, task B get broken hash_shuffle_channel because of dropped sender, before receive any cancel instructions from scheduler. In this case, we may return broken hash_shuffle_channel error instead of Expr Error. And this will catch by sqlsmith.
Basic idea is try to store the sender in fields of task A to make it live the same as task A. But because of the strict limitation of rust, it's not easy to write an elegant solution.. It may looks ugly and I'm not sure whether we can do that.
Describe the bug
Assume task A is the exchange source of task B.
If task A fail due to Expr Error, the exchange sender will be dropped, task A will notify frontend scheduler this error, and scheduler will cancel other tasks. At same time, task B will read from exchange receiver. Because all events are happen asynchrounsly, it's possible that after task A failed, exchange sender dropped, task B get
broken hash_shuffle_channel
because of dropped sender, before receive any cancel instructions from scheduler. In this case, we may returnbroken hash_shuffle_channel
error instead of Expr Error. And this will catch by sqlsmith.Solution:
risingwave/src/batch/src/task/task_execution.rs
Lines 355 to 356 in e940c77
Basic idea is try to store the sender in fields of task A to make it live the same as task A. But because of the strict limitation of rust, it's not easy to write an elegant solution.. It may looks ugly and I'm not sure whether we can do that.
cc @liurenjie1024
relate #7218
Log:
https://buildkite.com/risingwavelabs/pull-request/builds/15504#01859f6e-0524-4435-86d6-fef6fc27fc3d
To Reproduce
see the log
Expected behavior
return ExprError
Additional context
No response
The text was updated successfully, but these errors were encountered: