[
https://issues.apache.org/jira/browse/IMPALA-4275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17097017#comment-17097017
]
Tim Armstrong commented on IMPALA-4275:
---------------------------------------
My patch for IMPALA-9380 does part of the work for this - deferring removal of
the query from the global map.
> Coordinator::GetNext() should not call WaitForAllInstances() at eos
> -------------------------------------------------------------------
>
> Key: IMPALA-4275
> URL: https://issues.apache.org/jira/browse/IMPALA-4275
> Project: IMPALA
> Issue Type: Sub-task
> Components: Backend
> Affects Versions: Impala 2.8.0
> Reporter: Henry Robinson
> Priority: Minor
>
> {{Coordinator::GetNext()}} calls {{WaitForAllInstances()}} (previously
> {{WaitForAllBackends()}}) when it finishes pulling the last batch. This puts
> fragment instance lifecycle management on the critical path to retrieve
> results, which doesn't make a lot of sense - the client should get notified
> that the query has returned all results without having to wait for every
> fragment instance to finish.
> We should move that call to {{TearDown()}} instead. The reason that this is a
> little tricky is because {{TearDown()}} currently happens _after_ the
> containing {{QueryExecState}} has been removed from the Impala server's exec
> state map. Once that's happened, fragment status reports can't get to the
> {{Coordinator}}, so {{WaitForAllInstances()}} would wait forever.
> This JIRA is to fix both issues at once - calling {{TearDown()}} before
> deregistration to ensure fragments may be waited for, and to remove waiting
> from the {{GetNext()}} path.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]