[ 
https://issues.apache.org/jira/browse/HBASE-10294?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13871005#comment-13871005
 ] 

stack commented on HBASE-10294:
-------------------------------

bq. The sync elsewhere is for iteration AND modification...

Yeah.  And while it is going on, you couldn't get a view on the online servers 
Map (before this patch was applied).

Feel free to open another issue if you would like to dig in on SM online server 
Maps to come up w/ a wholesome story around synchronization and online server 
Map views.  This issue is spoiled and has a -1 against the patch applied so 
would suggest you not continue here.

> 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
>            Assignee: Ted Yu
>            Priority: Minor
>             Fix For: 0.99.0
>
>         Attachments: 10294-v1.txt
>
>
> 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)

Reply via email to