[
https://issues.apache.org/jira/browse/CASSANDRA-7546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14163964#comment-14163964
]
graham sanderson edited comment on CASSANDRA-7546 at 10/8/14 6:48 PM:
----------------------------------------------------------------------
Made minor change to patch (uploaded as cassandra-2.1-7546-v2.txt) - Having
switch to DEBUG logging of heavily contended partitions, I changed Memtable
flush code to only count the contended partitions when DEBUG logging is enabled
(since it involves a volatile read per partition which might have a cost -
though likely not a big deal - on non intel h/w)
was (Author: graham sanderson):
Made minor change to patch (uploaded as cassandra-2.1-7546-v2.txt) - Having
switch to DEBUG logging of heavily contended partitions, I changed Memtable
flush code to only count the contended partitions when DEBUG logging is enabled
(since it involves a volatile read per partition which might have a -cost -
though likely not a big deal - on non intel h/w)
> AtomicSortedColumns.addAllWithSizeDelta has a spin loop that allocates memory
> -----------------------------------------------------------------------------
>
> Key: CASSANDRA-7546
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7546
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: graham sanderson
> Assignee: graham sanderson
> Fix For: 2.1.1
>
> Attachments: 7546.20.txt, 7546.20_2.txt, 7546.20_3.txt,
> 7546.20_4.txt, 7546.20_5.txt, 7546.20_6.txt, 7546.20_7.txt, 7546.20_7b.txt,
> 7546.20_alt.txt, 7546.20_async.txt, 7546.21_v1.txt,
> cassandra-2.1-7546-v2.txt, cassandra-2.1-7546.txt, graph2_7546.png,
> graph3_7546.png, graphs1.png, hint_spikes.png, suggestion1.txt,
> suggestion1_21.txt, young_gen_gc.png
>
>
> In order to preserve atomicity, this code attempts to read, clone/update,
> then CAS the state of the partition.
> Under heavy contention for updating a single partition this can cause some
> fairly staggering memory growth (the more cores on your machine the worst it
> gets).
> Whilst many usage patterns don't do highly concurrent updates to the same
> partition, hinting today, does, and in this case wild (order(s) of magnitude
> more than expected) memory allocation rates can be seen (especially when the
> updates being hinted are small updates to different partitions which can
> happen very fast on their own) - see CASSANDRA-7545
> It would be best to eliminate/reduce/limit the spinning memory allocation
> whilst not slowing down the very common un-contended case.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)