[ 
https://issues.apache.org/jira/browse/CASSANDRA-4708?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Norberg updated CASSANDRA-4708:
--------------------------------------

    Attachment: 0001-MessagingService-don-t-use-NBHM-in-ExpiringMap.patch

Attached patch with the proposed fix; replaces NBHM with CHM in ExpiringMap.
                
> 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
>         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