[
https://issues.apache.org/jira/browse/FLINK-4482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ted Yu updated FLINK-4482:
--------------------------
Description:
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}
was:
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}
> 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)