[
https://issues.apache.org/jira/browse/FLINK-13469?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
PengFei Li updated FLINK-13469:
-------------------------------
Description:
Currently, resource used by `StateMapSnapshot` is released in
`AbstractStateTableSnapshot#writeStateInKeyGroup` as follows
{code:java}
public void writeStateInKeyGroup(@Nonnull DataOutputView dov, int keyGroupId)
throws IOException
{ StateMapSnapshot<K, N, S, ? extends StateMap<K, N, S>> stateMapSnapshot =
getStateMapSnapshotForKeyGroup(keyGroupId);
stateMapSnapshot.writeState(localKeySerializer, localNamespaceSerializer,
localStateSerializer, dov, stateSnapshotTransformer);
stateMapSnapshot.release(); }
{code}
If exception happens in `StateMapSnapshot#writeState`, resources used by this
`StateMapSnapshot` and the left can not be released.
was:
Currently, resource used by `StateMapSnapshot` is released in
`AbstractStateTableSnapshot#writeStateInKeyGroup` as follows
public void writeStateInKeyGroup(@Nonnull DataOutputView dov, int keyGroupId)
throws IOException {
StateMapSnapshot<K, N, S, ? extends StateMap<K, N, S>> stateMapSnapshot =
getStateMapSnapshotForKeyGroup(keyGroupId);
stateMapSnapshot.writeState(localKeySerializer, localNamespaceSerializer,
localStateSerializer, dov, stateSnapshotTransformer);
stateMapSnapshot.release();
}
If exception happens in `StateMapSnapshot#writeState`, resources used by this
`StateMapSnapshot` and the left can not be released.
> Resource used by StateMapSnapshot can not be released if snapshot fails
> -----------------------------------------------------------------------
>
> Key: FLINK-13469
> URL: https://issues.apache.org/jira/browse/FLINK-13469
> Project: Flink
> Issue Type: Bug
> Components: Runtime / State Backends
> Affects Versions: 1.9.0
> Reporter: PengFei Li
> Priority: Major
>
> Currently, resource used by `StateMapSnapshot` is released in
> `AbstractStateTableSnapshot#writeStateInKeyGroup` as follows
>
> {code:java}
> public void writeStateInKeyGroup(@Nonnull DataOutputView dov, int keyGroupId)
> throws IOException
> { StateMapSnapshot<K, N, S, ? extends StateMap<K, N, S>> stateMapSnapshot =
> getStateMapSnapshotForKeyGroup(keyGroupId);
> stateMapSnapshot.writeState(localKeySerializer, localNamespaceSerializer,
> localStateSerializer, dov, stateSnapshotTransformer);
> stateMapSnapshot.release(); }
> {code}
> If exception happens in `StateMapSnapshot#writeState`, resources used by this
> `StateMapSnapshot` and the left can not be released.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)