zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Mollitor (JIRA)" <j...@apache.org>
Subject [jira] [Created] (ZOOKEEPER-3365) Use New Concurrent HashMap in NettyServerCnxnFactory
Date Sun, 14 Apr 2019 03:01:00 GMT
David Mollitor created ZOOKEEPER-3365:

             Summary: Use New Concurrent HashMap in NettyServerCnxnFactory 
                 Key: ZOOKEEPER-3365
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3365
             Project: ZooKeeper
          Issue Type: Improvement
          Components: server
    Affects Versions: 3.6.0
            Reporter: David Mollitor
            Assignee: David Mollitor
             Fix For: 3.6.0

    // Access to ipMap or to any Set contained in the map needs to be
    // protected with synchronized (ipMap) { ... }
    private final Map<InetAddress, Set<NettyServerCnxn>> ipMap = new HashMap<>();

    private void addCnxn(NettyServerCnxn cnxn) {
        synchronized (ipMap){
            InetAddress addr =
            Set<NettyServerCnxn> s = ipMap.get(addr);
            if (s == null) {
                s = new HashSet<>();
                ipMap.put(addr, s);

This can be done better (less code, less contention) with Java 8 Map API.  Although, as I
look at this, the only thing this is used for is a count of the number of connections from
each address.  Maybe this should just store a count instead of a collection.


This message was sent by Atlassian JIRA

View raw message