[
https://issues.apache.org/jira/browse/FLINK-4482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15437274#comment-15437274
]
Stephan Ewen commented on FLINK-4482:
-------------------------------------
I think the statements can be adjusted to be properly locked.
How about adding some {{GuardedBy}} annotations and adding the maven "findbugs"
plugin to check such situations automatically?
> 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)