graham sanderson created CASSANDRA-7546:
-------------------------------------------

             Summary: AtomicSortedColumns.addAllWithSizeDelta has a spin lock 
that allocates memory
                 Key: CASSANDRA-7546
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7546
             Project: Cassandra
          Issue Type: Bug
            Reporter: graham sanderson


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.2#6252)

Reply via email to