[
https://issues.apache.org/jira/browse/FLINK-17860?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17229833#comment-17229833
]
Dian Fu commented on FLINK-17860:
---------------------------------
[~roman_khachatryan] Thanks a lot~
> Recursively remove channel state directories
> --------------------------------------------
>
> Key: FLINK-17860
> URL: https://issues.apache.org/jira/browse/FLINK-17860
> Project: Flink
> Issue Type: Improvement
> Components: Runtime / Checkpointing
> Affects Versions: 1.11.0
> Reporter: Roman Khachatryan
> Assignee: Roman Khachatryan
> Priority: Major
>
> With a high degree of parallelism, we end up with n*s number of files in each
> checkpoint (n = parallelism, s = stages). Writing them if fast (from many
> subtasks), removing them is slow (from JM).
> This can't be mitigated by state.backend.fs.memory-threshold because most
> states are ten to hundreds Mb.
>
> Instead of going through them 1 by 1, we could remove the directory
> recursively.
>
> The easiest way is to remove channelStateHandle.discard() calls and use
> isRecursive=true in
> FsCompletedCheckpointStorageLocation.disposeStorageLocation.
> Note: with the current isRecursive=false there will be an exception if there
> are any files left under that folder.
>
> This can be extended to other state handles in future as well.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)