[ 
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]

Reply via email to