Chris Westin created DRILL-2370:
-----------------------------------
Summary: 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: Chris Westin
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)