Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
Impala 4.0.0
-
None
-
ghx-label-13
Description
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.
Attachments
Issue Links
- is related to
-
IMPALA-9711 Incrementally compute averaged profile
- Resolved
-
IMPALA-539 Impala should gather final runtime profile from fragments for aborted/cancelled query
- Resolved