Tianji Li created FLINK-40495:
---------------------------------

             Summary: Limit concurrent shared-state disposal to prevent 
JobManager I/O starvation
                 Key: FLINK-40495
                 URL: https://issues.apache.org/jira/browse/FLINK-40495
             Project: Flink
          Issue Type: Bug
          Components: Runtime / Checkpointing
    Affects Versions: 2.2.0
            Reporter: Tianji Li
         Attachments: flink-jobmanager-pools-after.png, 
flink-jobmanager-pools-before.png

When there are lots of old checkpoint files on S3 to be deleted by the 
JobManager, it may wait for a long time before it could have change to send 
checkpoint barriers. This can cause long checkpoint durations unnecessarily and 
inconsistently (it only happens when deleting many old files).

 

In our recently, the JM sometimes waited around 330 seconds before it could 
send checkpoint barriers, even if the configured checkpoint duration is 180 
seconds. Long checkpoint durations lead to very high processing delays when TMs 
are recycled and hence TMs recreation and reprocessing have to be done.

 

The root cause is the shared thread-pool (jobmanager.io-pool) used by both of 
these operations. In the attached flink-jobmanager-pools-before.png file, 
please find what is the current way that the pool is shared. We have an 
internal fix (see in the flink-jobmanager-pools-before.png) that limits the S3 
cleanup through a configuration. 

!flink-jobmanager-pools-after.png!



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to