Description
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.
Attachments
Attachments
Issue Links
- depends upon
-
HBASE-16272 Overflow in ServerName's compareTo method
- Resolved
Activity
Field | Original Value | New Value |
---|---|---|
Description |
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(log(n)) 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. |
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. |
Attachment | HBASE-16275-v001.patch [ 12819717 ] |
Status | Open [ 1 ] | Patch Available [ 10002 ] |
Link |
This issue depends upon |
Status | Patch Available [ 10002 ] | Open [ 1 ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Attachment | TestServerManagerPerf.java [ 12820256 ] | |
Attachment | HBASE-16275-v002.patch [ 12820257 ] |
Status | In Progress [ 3 ] | Patch Available [ 10002 ] |
Fix Version/s | 2.0.0 [ 12327188 ] | |
Fix Version/s | 1.4.0 [ 12334929 ] |
Resolution | Fixed [ 1 ] | |
Status | Patch Available [ 10002 ] | Resolved [ 5 ] |
Fix Version/s | 0.98.21 [ 12335943 ] |
Workflow | no-reopen-closed, patch-avail [ 13204564 ] | patch-available, re-open possible [ 13753781 ] |
Workflow | patch-available, re-open possible [ 13753781 ] | no-reopen-closed, patch-avail [ 13781505 ] |
HBASE-16275This message was automatically generated.