Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-2370

Missing cancellation acknowledgements leave orphaned cancelled queries around

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.7.0
    • 0.9.0
    • Execution - Flow
    • None

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              jnadeau Jacques Nadeau
              cwestin Chris Westin
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: