[ 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)