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)
|