Till Rohrmann created FLINK-6612:
------------------------------------

             Summary: ZooKeeperStateHandleStore does not guard against 
concurrent delete operations
                 Key: FLINK-6612
                 URL: https://issues.apache.org/jira/browse/FLINK-6612
             Project: Flink
          Issue Type: Bug
          Components: Distributed Coordination, State Backends, Checkpointing
    Affects Versions: 1.3.0, 1.4.0
            Reporter: Till Rohrmann
            Assignee: Till Rohrmann
            Priority: Critical
             Fix For: 1.3.0, 1.4.0


The {{ZooKeeperStateHandleStore}} does not guard against concurrent delete 
operations which could happen in case of a lost leadership and a new leadership 
grant. The problem is that checkpoint nodes can get deleted even after they 
have been recovered by another {{ZooKeeperCompletedCheckpointStore}}. This 
corrupts the recovered checkpoint and thwarts future recoveries.

I propose to add reference counting to the {{ZooKeeperStateHandleStore}}. That 
way, we can monitor how many concurrent processes have a hold on a given 
checkpoint node. Only if the reference count reaches {{0}}, we are allowed to 
delete the checkpoint node and dispose the checkpoint data.

Stephan proposed to use ephemeral child nodes to track the reference count of a 
checkpoint node. That way we are sure that locks on the a checkpoint node are 
released in case of {{JobManager}} failures.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to