[ https://issues.apache.org/jira/browse/HBASE-10294?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ted Yu updated HBASE-10294: --------------------------- Description: ServerManager#onlineServers is a ConcurrentHashMap Yet I found that some accesses to it are synchronized and unnecessary. Here is one example: {code} public Map<ServerName, ServerLoad> getOnlineServers() { // Presumption is that iterating the returned Map is OK. synchronized (this.onlineServers) { return Collections.unmodifiableMap(this.onlineServers); {code} Note: not all accesses to ServerManager#onlineServers are synchronized. was: ServerManager#onlineServers is a ConcurrentHashMap Yet I found that some accesses to it are synchronized and unnecessary. Here is one example: {code} public Map<ServerName, ServerLoad> getOnlineServers() { // Presumption is that iterating the returned Map is OK. synchronized (this.onlineServers) { return Collections.unmodifiableMap(this.onlineServers); {code} > Some synchronization on ServerManager#onlineServers can be removed > ------------------------------------------------------------------ > > Key: HBASE-10294 > URL: https://issues.apache.org/jira/browse/HBASE-10294 > Project: HBase > Issue Type: Task > Reporter: Ted Yu > Priority: Minor > > ServerManager#onlineServers is a ConcurrentHashMap > Yet I found that some accesses to it are synchronized and unnecessary. > Here is one example: > {code} > public Map<ServerName, ServerLoad> getOnlineServers() { > // Presumption is that iterating the returned Map is OK. > synchronized (this.onlineServers) { > return Collections.unmodifiableMap(this.onlineServers); > {code} > Note: not all accesses to ServerManager#onlineServers are synchronized. -- This message was sent by Atlassian JIRA (v6.1.5#6160)