Github user breed commented on a diff in the pull request: https://github.com/apache/zookeeper/pull/584#discussion_r205959572 --- Diff: src/java/main/org/apache/zookeeper/server/DataTree.java --- @@ -478,7 +478,10 @@ public void createNode(final String path, byte data[], List<ACL> acl, HashSet<String> list = ephemerals.get(ephemeralOwner); if (list == null) { list = new HashSet<String>(); - ephemerals.put(ephemeralOwner, list); + HashSet<String> _list; --- End diff -- we need synchronization to prevent znode changes while the znode is being snapshot to disk, but for request processing there is only a single thread that does mutations and mutations don't happen while read requests are being processed.
---