You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Tim Armstrong (Jira)" <ji...@apache.org> on 2020/05/18 00:09:00 UTC

[jira] [Created] (IMPALA-9756) Queries are not guaranteed to be cancelled before unregistration

Tim Armstrong created IMPALA-9756:
-------------------------------------

             Summary: Queries are not guaranteed to be cancelled before unregistration 
                 Key: IMPALA-9756
                 URL: https://issues.apache.org/jira/browse/IMPALA-9756
             Project: IMPALA
          Issue Type: Bug
          Components: Backend
            Reporter: Tim Armstrong
            Assignee: Tim Armstrong


I noticed while running TSAN on a branch that it's possible for a query to be unregistered *while* cancellation is in progress, if the cancellation is triggered by a different thread (e.g. a separate client connection) and 

This is because ClientRequestState::Cancel() will return early if cancellation was already started, and ImpalaServer::Unregister() will proceed. 

I think the main consequence of this is that the profile may be missing information that is added during cancellation (ComputeQuerySummary(), etc), but it generally makes the code more racy and bugs more likely.

Instead Finalize() should wait for the cancellation to finish in the other thread before proceeding.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)