Github user sachouche commented on the issue:
https://github.com/apache/drill/pull/1237
@vrozov, your observation is valid, we need more JIRAs to fix the reporting
problem
**Current Fix**
- At this time, the UnorderedReceiver didn't account for any consumed memory
- This fix, taxes the operator only when it consumes buffers
**Potential Enhancements**
Solution I
- Create a new fragment child Allocator which will own the received (not
yet consumed) batches
- Improve the UI to report this allocator size
- This solution is simple and complementary to the current work
Solution II
- Have the receiver operator drain the batch queue
- Essentially, the receiver will have a private queue from where to consume
batches
- I personally don't like this solution as it prevents us from improving
the Drill network protocol
- Draining the batches for the sake of reporting will make it harder for
the network layer to prefetch batches in an optimal manner; the queue size
should be an indicator on how many pending batches there are.
---