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

Allan Yang commented on HBASE-16275:
------------------------------------

As you said,  ‘’it seems that there is no difference if there are 1000 
servers“”, so  how many servers will the patch make some difference. As far as 
I know, the biggest HBase cluster is still no more than several thousands  
nodes. So I think this fix is trival

> Change ServerManager#onlineServers from ConcurrentHashMap to 
> ConcurrentSkipListMap
> ----------------------------------------------------------------------------------
>
>                 Key: HBASE-16275
>                 URL: https://issues.apache.org/jira/browse/HBASE-16275
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: huaxiang sun
>            Assignee: huaxiang sun
>            Priority: Minor
>         Attachments: HBASE-16275-v001.patch
>
>
> In Class ServerManager, onlineServers is declared as ConcurrentHashMap. In 
> findServerWithSameHostnamePortWithLock(), it has to do a loop to find if 
> there is a ServerName with same host:port pair. If replaced with 
> ConcurrentSkipListMap, findServerWithSameHostnamePortWithLock() can be 
> replaced with a O(logN) implementation. 
> I run some performance comparison(test the function only), it seems that 
> there is no difference if there are 1000 servers. With more servers, 
> ConcurrentSkipListMap implementation is going to win big.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to