[ https://issues.apache.org/jira/browse/FLINK-4482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15452018#comment-15452018 ]
ASF GitHub Bot commented on FLINK-4482: --------------------------------------- Github user StephanEwen commented on the issue: https://github.com/apache/flink/pull/2421 I think it would be good to use the `triggerLock` only within the `triggerCheckpoint(...)` method. The access to `numUnsuccessfulCheckpointsTriggers` is not super critical, it is merely an informational variable. We could make it an AtomicInteger, if that helps. > numUnsuccessfulCheckpointsTriggers is accessed without holding triggerLock > -------------------------------------------------------------------------- > > Key: FLINK-4482 > URL: https://issues.apache.org/jira/browse/FLINK-4482 > Project: Flink > Issue Type: Bug > Reporter: Ted Yu > Priority: Minor > > In CheckpointCoordinator#stopCheckpointScheduler() : > {code} > synchronized (lock) { > ... > numUnsuccessfulCheckpointsTriggers = 0; > {code} > triggerLock is not held in the above operation. > See comment for triggerLock earlier in triggerCheckpoint(): > {code} > // we lock with a special lock to make sure that trigger requests do not > overtake each other. > // this is not done with the coordinator-wide lock, because the > 'checkpointIdCounter' > // may issue blocking operations. Using a different lock than teh > coordinator-wide lock, > // we avoid blocking the processing of 'acknowledge/decline' messages > during that time. > synchronized (triggerLock) { > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)