[
https://issues.apache.org/jira/browse/FLINK-31763?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Weijie Guo closed FLINK-31763.
------------------------------
Fix Version/s: 1.16.2
1.18.0
1.17.1
Resolution: Fixed
master(1.18) via ffc6f3bfabd22b49b08f027400c194a8e7c9c51a.
release-1.17 via be0f9293c2ce00465154ef03f7cef29dd3116b8e.
release-1.16 via ab2ba9612a6a7f27c2921c7c329b3077ea4c33b2.
> Convert requested buffers to overdraft buffers when pool size is decreased
> ---------------------------------------------------------------------------
>
> Key: FLINK-31763
> URL: https://issues.apache.org/jira/browse/FLINK-31763
> Project: Flink
> Issue Type: Bug
> Components: Runtime / Network
> Affects Versions: 1.17.1
> Reporter: Weijie Guo
> Assignee: Weijie Guo
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.16.2, 1.18.0, 1.17.1
>
>
> As we discussed in FLINK-31610, new buffers can be requested only when
> "{_}numOfRequestedMemorySegments + numberOfRequestedOverdraftMemorySegments <
> poolSize + maxOverdraftBuffersPerGate"{_}.
> Consider such a scenario, the {{{}CurrentPoolSize = 5{}}},
> {{{}numOfRequestedMemorySegments = 7{}}}, {{{}maxOverdraftBuffersPerGate =
> 2{}}}. If {{{}numberOfRequestedOverdraftMemorySegments = 0{}}}, then 2
> buffers can be requested now.
> We should convert {{numberOfRequestedMemorySegments}} to
> {{numberOfRequestedOverdraftMemorySegments}} when poolSize is decreased.
> Further more, we can changes the definition of overdraft buffer from static
> to dynamic:
> * When _numberOfRequestedMemorySegments <= poolSize,_ all buffers are
> ordinary buffer
> * When _numberOfRequestedMemorySegments > poolSize,_ the `{_}ordinary buffer
> size = poolSize`{_}, and `{_}the overdraft buffer size =
> numberOfRequestedMemorySegments - poolSize`{_}
> This allows us to remove {{{}numberOfRequestedOverdraftMemorySegments{}}},
> which helps us simplify logic and maintain consistency.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)