Weijie Tong created DRILL-7656:
----------------------------------
Summary: Support injecting BufferManager into UDF
Key: DRILL-7656
URL: https://issues.apache.org/jira/browse/DRILL-7656
Project: Apache Drill
Issue Type: New Feature
Components: Execution - Codegen
Reporter: Weijie Tong
Assignee: Weijie Tong
Fix For: 1.18.0
Now we can inject a re-allocation DrillBuf to UDF. It's applicable to most of
UDF usage cases. But there's some situation that does not work out.
If I want to implement an aggregation UDF , every group key has an aggregated
bitmap which needs to be held as a DrillBuf. Then the current injected
DrillBuf will not solve this perfectly. Holding all the value bitmap memory
into one DrillBuf will not only have the Integer.MAX_VALUE memory space
limitation , but also not good performance as we need to always replace the old
one , lots of memory copying.
As BufferManager will finally be closed by the FragmentContext, it's safe to
inject it to the UDF to be used by the users to allocate they wanted number of
sized DrillBufs.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)