[ 
https://issues.apache.org/jira/browse/FLINK-14936?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16981720#comment-16981720
 ] 

Andrey Zagrebin commented on FLINK-14936:
-----------------------------------------

This looks like an operator's concern to calculate its memory limit. I would be 
still against mixing this concern into theĀ *MemoryManager*. We could add this 
method `*computeMemorySize*` e.g. as a protected method to 
`*AbstractStreamOperator*` which already has an access to the *StreamConfig*, 
fraction and size of the slot memory from the slot's *MemoryManager*. If I 
understand correctly this is where we need the operator's absolute memory size. 
Alternatively, it could be some static utility method which addresses this 
concern.

> Introduce MemoryManager#computeMemorySize to calculate managed memory of an 
> operator 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)

Reply via email to