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

Jonathan Ellis commented on CASSANDRA-4708:
-------------------------------------------

did a quick audit of NBHM usage elsewhere.  think we're okay, everything else 
has a pretty tiny amount of possible keys.  the main "large" maps are in the 
column containers where NBHM is a non-candidate since we need sorting.
                
> StorageProxy slow-down and memory leak
> --------------------------------------
>
>                 Key: CASSANDRA-4708
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4708
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Daniel Norberg
>            Assignee: Daniel Norberg
>             Fix For: 1.1.6
>
>         Attachments: 0001-MessagingService-don-t-use-NBHM-in-ExpiringMap.patch
>
>
> I am consistently observing slow-downs in StorageProxy caused by the 
> NonBlockingHashMap used indirectly by MessagingService via the callbacks 
> ExpiringMap.
> This seems do be due to NBHM having unbounded memory usage in the face of 
> workloads with high key churn. As monotonically increasing integers are used 
> as callback id's by MessagingService, the backing NBHM eventually ends up 
> growing the backing store unboundedly. This causes it to also do very large 
> and expensive backing store reallocation and migrations, causing throughput 
> to drop to tens of operations per second, lasting seconds or even minutes. 
> This behavior is especially noticable for high throughput workloads where the 
> dataset is completely in ram and I'm doing up to a hundred thousand reads per 
> second.
> Replacing NBHM in ExpiringMap with the java standard library 
> ConcurrentHashMap resolved the issue and allowed me to keep a consistent high 
> throughput.
> An open issue on NBHM can be seen here: 
> http://sourceforge.net/tracker/?func=detail&aid=3563980&group_id=194172&atid=948362

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to