zhijiang created FLINK-15187:
--------------------------------
Summary: Reuse LocalBufferPool for FileBufferReader in blocking partition
Key: FLINK-15187
URL:
https://issues.apache.org/jira/browse/FLINK-15187 Project: Flink
Issue Type: Task
Components: Runtime / Network
Reporter: zhijiang
If we take the file type via `taskmanager.network.bounded-blocking-subpartition-type` for batch job, while creating the respective view for reading the subpartition persistent data, it would create two unpolled memory segments for every subpartition. This portion of temporary memory is not managed and calculated by framework, so it might cause OOM error concern.
We can also reuse the ResultPartition's `LocalBufferPool` to read subpartition data to avoid this memory overhead. But there are additional two problems for reuse directly.
* The current core size of `LocalBufferPool` is `numberOfSubpartitions + 1`, but every subpartition needs two segments for pre-reading atm. We can remove the pre-reading to make the current core pool size suitable for the reading requirements, because the pre-reading function seems has no obvious benefits in practice which is only effecting for the last data.
* When task finishes, it would destroy the `LocalBufferPool` even though the respective `ResultPartition still alive, so the following subpartition view can not reuse the pool directly. We should adjust the respective logics to either delay destroy the pool or create a new pool for subpartition view.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)