Details
-
Sub-task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
Impala 2.9.0
-
None
-
None
-
ghx-label-2
Description
If it reports a bad status, UpdateFragmentExecStatus() will call UpdateStatus(), which takes Coordinator::lock_ and then calls Cancel(). That method issues one RPC per fragment instance.
In KRPC, doing so much work from UpdateFragmentExecStatus() - which is an RPC handler - is a bad idea, even if the RPCs are issued asynchronously. There's still some serialization cost.
It's also a bad idea to do all this work while holding lock_. We should address both of these to ensure scalability of the cancellation path.
Attachments
Issue Links
- depends upon
-
IMPALA-2990 Coordinator should timeout and cancel queries with unresponsive / stuck executors
- Resolved
-
IMPALA-5384 Simplify coordinator locking protocol
- Resolved
- is depended upon by
-
IMPALA-6984 Coordinator should cancel backends when returning EOS
- Reopened
- is related to
-
IMPALA-6984 Coordinator should cancel backends when returning EOS
- Reopened