BiteTheDDDDt opened a new pull request, #65361:
URL: https://github.com/apache/doris/pull/65361
### What problem does this PR solve?
Issue Number: None
Related PR: None
Problem Summary: Python UDF/UDAF/UDTF input and request batch construction
used Arrow's default memory pool, so Arrow buffers allocated while preparing
Python function requests could bypass Doris memory tracking.
This PR switches the synchronous Python UDF/UDAF/UDTF Arrow batch
construction paths to `ExecEnv::GetInstance()->arrow_memory_pool()`.
Benefits:
- Routes these Arrow buffer allocations through Doris' BE Arrow memory pool,
which is backed by Doris Allocator and memory tracker.
- Keeps Python function request/input batch memory accounting consistent
with other Doris Arrow integration paths.
- Avoids changing Python UDF/UDAF/UDTF semantics; this only changes the
allocator used for in-process Arrow buffers.
### Release note
None
### Check List (For Author)
- Test: Manual test
- `build-support/clang-format.sh
be/src/exprs/function/function_python_udf.cpp
be/src/exprs/table_function/python_udtf_function.cpp
be/src/exprs/aggregate/aggregate_function_python_udaf.cpp
be/src/udf/python/python_udaf_client.cpp`
- `build-support/check-format.sh`
- `git diff --cached --check`
- Attempted `./run-be-ut.sh --run --filter=PythonUDAFClientTest.*`; not
completed because it triggered a fresh full ASAN_UT build and was interrupted
at 96/15358 build steps.
- Behavior changed: No
- Does this need documentation: No
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]