You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "maoling (Jira)" <ji...@apache.org> on 2020/11/13 01:52:00 UTC

[jira] [Created] (ZOOKEEPER-4000) use the computeIfAbsent to simplify the Leader#processSync method

maoling created ZOOKEEPER-4000:
----------------------------------

             Summary: use the computeIfAbsent to simplify the Leader#processSync method
                 Key: ZOOKEEPER-4000
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-4000
             Project: ZooKeeper
          Issue Type: Improvement
          Components: server
            Reporter: maoling
             Fix For: 3.7.0


Look at the *Leader#processSync* method:
{code:java}
public synchronized void processSync(LearnerSyncRequest r) {
    if (outstandingProposals.isEmpty()) {
        sendSync(r);
    } else {
        List<LearnerSyncRequest> l = pendingSyncs.get(lastProposed);
        if (l == null) {
            l = new ArrayList<LearnerSyncRequest>();
        }
        l.add(r);
        pendingSyncs.put(lastProposed, l);
    }
}
{code}
we can use theĀ *computeIfAbsent* to make the code more clean and elegant



--
This message was sent by Atlassian Jira
(v8.3.4#803005)