Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
Impala 2.10.0
-
ghx-label-4
Description
Currently our DataStreamMgr class is a singleton class, which means it has a holistic view of all fragment instances running on a given impalad node.
We currently call DataStreamMgr::Cancel() per fragment instance, which means on every Cancel() call, we do a O(N) lookup through a receiver map maintained by the DataStreamMgr, even though we know that if one fragment instance belonging to a query is cancelled, all other fragment instances belonging to that query will be cancelled as well.
Instead, if we take a query ID, we can cancel all fragment instances belonging to that query at once, with a single O(N) lookup of the receiver map.