In order to help improve usage tracking, allocations for a single query should all roll up to a single root.
This requires that the Foreman create that root, and label it, and then pass that along to anyone else that needs to create additional sub-allocators. The patch for
DRILL-2406 introduces the creation of a new allocator in QueryContext, but this is currently a child of the Drillbit's TopLevelAllocator, violating the principle above. This is a reminder to fix that after the dependencies above are available.
As well as the known case in QueryContext, check to make sure other locations aren't creating new children from the DrillbitContext, but are instead using the allocator from the FragmentContext instead.