You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Stephan Ewen (JIRA)" <ji...@apache.org> on 2016/08/25 17:22:20 UTC

[jira] [Commented] (FLINK-4482) numUnsuccessfulCheckpointsTriggers is accessed without holding triggerLock

    [ 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)