[
https://issues.apache.org/jira/browse/DRILL-2370?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14496879#comment-14496879
]
Chris Westin commented on DRILL-2370:
-------------------------------------
[~jnadeau], it seems like your changes with the new NodeTracker handle dead
nodes and take care of this. Do you agree?
> Missing cancellation acknowledgements leave orphaned cancelled queries around
> -----------------------------------------------------------------------------
>
> Key: DRILL-2370
> URL: https://issues.apache.org/jira/browse/DRILL-2370
> Project: Apache Drill
> Issue Type: Bug
> Components: Execution - Flow
> Affects Versions: 0.7.0
> Reporter: Chris Westin
> Assignee: Jacques Nadeau
> Fix For: 0.9.0
>
>
> When a query is cancelled (say by Foreman.cancel()), Foreman moves to the
> CANCELLED state, which indicates that cancellation is in progress.
> Cancellation requests are sent to remote drill fragments. These should be
> replied to via QueryManager.statusUpdate() (inherited from
> FragmentStatusListener), which in turn updates Foreman. However, if any of
> the cancellation requests are not acknowledged (due to drillbit failure, RPC
> timeout, etc), then the being-cancelled query will stay that way
> indefinitely. We need to have a way to find such queries and force them to be
> cleaned up. This may require substituting stub listeners for some of the
> objects involved in case cancellation acknowledgements still arrive even
> later still -- these need to be safely invokable by the RPC layer even though
> the query they referred to is gone.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)