[
https://issues.apache.org/jira/browse/FLINK-14936?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16982363#comment-16982363
]
Andrey Zagrebin commented on FLINK-14936:
-----------------------------------------
Thanks for the feedback [~zhuzh]
Yes, you are right we should make it reusable for other components. I just did
not want to add one more concern to MemoryManager directly. That is why I
mentioned having a static utility method, likeĀ
_MemoryManagerUtils#computeMemorySize(fraction, memoryType, memoryManager)._
Another idea would be to create a wrapping
_LimittingMemoryManager(MemoryManager, fraction/smallerSize)_ which would limit
the size of the original MemoryManager to the fraction or new smaller size.
This wrapper would be then like a memory manager per operator or other
component with the same API and its #_getMemorySizeByType_ and #_getMemorySize_
would do the job.
> Introduce MemoryManager#computeMemorySize to calculate managed memory from a
> fraction
> -------------------------------------------------------------------------------------
>
> Key: FLINK-14936
> URL: https://issues.apache.org/jira/browse/FLINK-14936
> Project: Flink
> Issue Type: Improvement
> Components: Runtime / Coordination
> Affects Versions: 1.10.0
> Reporter: Zhu Zhu
> Priority: Major
>
> A MemoryManager#computeMemorySize(double fraction) is needed to calculate
> managed memory bytes from a fraction.
> It can be helpful for operators to get the memory size it can reserve and for
> further #reserveMemory. (Similar to #computeNumberOfPages).
> Here are two cases that may need this method in near future:
> 1. [Python operator memory
> management|https://lists.apache.org/thread.html/dd4dedeb9354c2ee559cd2f15629c719853915b5efb31a0eafee9361@%3Cdev.flink.apache.org%3E]
> 2. [Statebackend memory
> management|https://issues.apache.org/jira/browse/FLINK-14883]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)