hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "huaxiang sun (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-16275) Change ServerManager#onlineServers from ConcurrentHashMap to ConcurrentSkipListMap
Date Sat, 23 Jul 2016 14:05:20 GMT

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

huaxiang sun commented on HBASE-16275:

Thanks @yu li and [~mbertozzi]. As Matteo mentioned, the compareTo() fix was committed just
recently. This diff is the initial patch, work in progress.

> 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

View raw message