[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jira] [Created] (FLINK-10185) Make ZooKeeperStateHandleStore#releaseAndTryRemove synchronous

Till Rohrmann created FLINK-10185:

             Summary: Make ZooKeeperStateHandleStore#releaseAndTryRemove synchronous
                 Key: FLINK-10185
                 URL: https://issues.apache.org/jira/browse/FLINK-10185
             Project: Flink
          Issue Type: Improvement
          Components: Distributed Coordination
    Affects Versions: 1.6.0, 1.5.2, 1.4.2, 1.7.0
            Reporter: Till Rohrmann
            Assignee: Till Rohrmann
             Fix For: 1.4.3, 1.6.1, 1.7.0, 1.5.4

The {{ZooKeeperStateHandleStore#releaseAndTryRemove}} method executes parts of its logic synchronously (retrieving the state handle and unlocking the ZNode) and others asynchronously (removing the ZNode). Moreover, the method takes a parameter which is used to execute some logic in case of a successful removal. This was done in order to execute a potentially blocking state discard operation in a different thread.

I think this can be simplified by executing all logic in the same thread and running the callback after having called {{ZooKeeperStateHandleStore#releaseAndTryRemove}}. Moreover, if this operation needs to be not blocking one could use a different thread to call into this method. 

This message was sent by Atlassian JIRA