You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Henry Robinson (JIRA)" <ji...@apache.org> on 2017/03/27 21:10:42 UTC
[jira] [Created] (IMPALA-5119) Don't call CancelFragmentInstances()
from Coordinator::UpdateFragmentExecStatus()
Henry Robinson created IMPALA-5119:
--------------------------------------
Summary: Don't call CancelFragmentInstances() from Coordinator::UpdateFragmentExecStatus()
Key: IMPALA-5119
URL: https://issues.apache.org/jira/browse/IMPALA-5119
Project: IMPALA
Issue Type: Sub-task
Components: Distributed Exec
Affects Versions: Impala 2.9.0
Reporter: Henry Robinson
Assignee: Henry Robinson
If it reports a bad status, {{UpdateFragmentExecStatus()}} will call {{UpdateStatus()}}, which takes {{Coordinator::lock_}} and then calls {{CancelFragmentInstances()}}. 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.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)